[Javascript] Opdracht extern ingeven

Pagina: 1
Acties:

Onderwerpen


  • Niek_
  • Registratie: Februari 2002
  • Laatst online: 14-07 21:06
Op mijn werk kunnen we via een bepaald formulier gegevens opvragen. Door in een veld het unieke nummer (bijvoorbeeld werknemer-id) in te geven en vervolgens op zoeken te klikken worden de persoonsgegevens weergegeven. We benaderen dit formulier altijd via internet explorer. Hier moeten we dan handmatig het werknemer-id invullen van de persoon die het betreft en daarna op zoeken klikken.

Echter, als we deze gegevens opvragen, staat er ook altijd al een access-db open waar andere gegevens met betrekking tot die persoon zichtbaar zijn. Hieronder ook het werknemer-id.
Kan ik de actie die wordt uitgevoerd bij het klikken op de zoekknop op het formulier in internet explorer initiëren middels een url/knop vanuit access?

Concreet: kan ik het handmatig invullen van het werknemer-id in het formulier en het vervolgens op zoeken moeten klikken omzeilen door middel van 1 hyperlink in access welke direct het werknemer-id mee geeft?

Hiervoor moet ik erachter zien te komen welke actie er precies uitgevoerd wordt en of ik die kan 'voeden'.

Zoekknop-actie:
HTML:
1
<a name='#ICSearch' href="javascript:submitAction_main(document.main, '#ICSearch');" tabindex=21 accesskey=1><img src='/servlets/cs/HRM83P/cache/PT_SEARCH_DUT_1.gif' name='Search' alt='Zoeken' border=0></a>


Nu had ik deze al ontleed tot onderstaande, de rest is volgens mij niet van belang voor de uitkomst.
HTML:
1
<a name='#ICSearch' href="javascript:submitAction_main(document.main, '#ICSearch');"

Hier stopt het echter met mijn kennis. Naar mijn weten haalt de actie het ingevulde nummer uit het formulier en vraagt hij hiermee de gegevens op. Maar hoe dit precies gaat, geen idee. Lijkt mij dat ik deze opdracht ook kan ‘meegeven’?

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

door middel van 1 hyperlink in access welke direct het werknemer-id mee geeft?
Ja, door een 'tussenpagina' te maken die dat werknemer-ID als GET-parameter accepteert en dat vervolgens POST naar de uiteindelijke pagina.

Je zou met Fiddler (of door gewoon de javascript-functie submitAction_main() te lezen) kunnen kijken hoe een 'legitieme' POST eruitziet, zodat je deze (met hidden form fields op je tussenpagina) kunt nabouwen, waarbij je de benodigde parameters dus uit de GET-parameter(s) plukt. Dit kan allemaal met een simpele html-pagina met een regel of twee aan javascript.

Deze omweg is nodig omdat het niet mogelijk is om van buitenaf een POST te sturen naar de browser-applicatie.

[ Voor 58% gewijzigd door CodeCaster op 26-09-2012 11:28 ]

https://oneerlijkewoz.nl
Het ergste moet nog komen / Het leven is een straf / Een uitgestrekte kwelling van de wieg tot aan het graf


  • Niek_
  • Registratie: Februari 2002
  • Laatst online: 14-07 21:06
Dank voor je antwoord, ben (denk ik) weer iets verder op weg.
De functie ziet er als volgt uit:
HTML:
1
2
3
4
5
6
7
8
9
10
<SCRIPT LANGUAGE='JavaScript'> 
function submitAction_main0(form, name)
{
form.ICAction.value=name;
form.ICXPos.value=getScrollX();
form.ICYPos.value=getScrollY();
processing_main0(1,3000);
form.submit();
}
</SCRIPT>


POST kom ik in onderstaande code tegen:
HTML:
1
2
3
4
5
6
7
8
9
10
<FORM NAME='main0' METHOD=POST Action="/servlets/iclientservlet/HRM83P/?ICType=Panel&Menu=ADMINISTER_WORKFORCE_(GBL)&Market=GBL&PanelGroupName=EMERGENCY_CONTACT"  autocomplete=off>
<INPUT TYPE=hidden NAME=ICType VALUE=Panel>
<INPUT TYPE=hidden NAME=ICElementNum VALUE="0">
<INPUT TYPE=hidden NAME=ICStateNum VALUE="4">
<INPUT TYPE=hidden NAME=ICAction VALUE=None>
<INPUT TYPE=hidden NAME=ICXPos VALUE=0>
<INPUT TYPE=hidden NAME=ICYPos VALUE=0>
<INPUT TYPE=hidden NAME=ICFocus VALUE="">
<input type=hidden name=ICChanged value='-1' />
<input type='hidden' name='ICSID' value='L2QQRTQhW7VQ' />


Het zegt mij nog niet zo heel veel, ik ga me eerst eens verder verdiepen in dit onderwerp. Duwtjes in de juiste richting zijn natuurlijk van harte welkom ;)

  • _Erikje_
  • Registratie: Januari 2005
  • Laatst online: 14-07 15:29

_Erikje_

Tweaker in Spanje

gebruik fiddler of tamper data om te kijken wat er gepost wordt. Als je dat weet kan je dat zelf reproduceren met wfetch of CURL http://stackoverflow.com/...-easily-send-post-get-put

  • Niek_
  • Registratie: Februari 2002
  • Laatst online: 14-07 21:06
Ik kan/mag op ons bedrijfsnetwerk geen externe programma's draaien, de door mij bedoelde pagina betreft een intranetpagina. Kijken wat er gepost wordt met de 2 genoemde programma's is dan ook (helaas) geen optie.

Ik zal eerst meer info gaan lezen over het get/put/enz verhaal.

  • Tharulerz
  • Registratie: April 2009
  • Laatst online: 10-04 05:16
Tamper data is een firefox plugin, geen extern programma.

Met google chrome kan je het zelfs zonder plugin, gewoon rechtermuisknop -> inspect element -> network en kijken wat er daar verzonden wordt.

Acties:
  • 0 Henk 'm!

  • Niek_
  • Registratie: Februari 2002
  • Laatst online: 14-07 21:06
Ik kan het intranet (en dus de bewuste pagina) alleen benaderen via internet Explorer versie 8.0.
Pagina: 1