IE formulareingabe problem

  • hi, und zwar hab ich ein Formular einer internet seite wo er alles auffüllt aus ein Feld, das lässt er immer leer.
    Name fügt er jetzt nicht ein ,aber Vorname schon.


    Code
    quelltextteil der Internet seite
    
    
    
    
    //--></script></div><label id="mainForm:name" for="mainForm:name">Name<br /><span class="error"><span class="error">'Name' ist ein Pflichtfeld.</span></span><input id="mainForm:name" name="mainForm:name" type="text" value="" maxlength="10" class="error txtField" onchange="A4J.AJAX.Submit('mainForm:j_id80','mainForm',event,{'control':this,'oncomplete':function(request,event,data){YAHOO.debitelPosApi.registerInputEffects(); shownameOverlays();},'parameters':{'ajaxSingle':'mainForm:name','mainForm:j_id166':'mainForm:j_id166'} ,'actionUrl':'/pos/process/createSubscriber?execution=e4s1'} )" /></label></div><div class="blockCol"><label for="mainForm:birthplacefirst">Vorname<br /><input id="mainForm:first" name="mainForm:first" type="text" value="Testname" maxlength="24" onblur="A4J.AJAX.Submit('mainForm:j_id80','mainForm',event,{'parameters'


    [autoit]

    autoitcode teil:

    [/autoit][autoit][/autoit][autoit]

    $oTemp=_IEGetObjByName($oIE,"mainForm:name")
    _IEFormElementSetValue($oTemp,$aSheet[$i][3]);Name
    _IELoadWait($oIE);Warten
    Sleep(2000)
    $oTemp=_IEGetObjById($oIE,"mainForm:first")
    _IEFormElementSetValue($oTemp,$aSheet[$i][4]);Vorname
    _IELoadWait($oIE);Warten

    [/autoit]
  • habs mit name und id versuch funktionert nicht weiß nicht warum.
    die anderen felder haben sin sozusaegn gleich nur mit anderen namen und bei denen gehts.

  • Probiere einmal folgendes:

    [autoit]

    ConsoleWrite (_IEGetObjByName ($oIE, "mainForm:name", -1)) ; s. Hilfe

    [/autoit]

    Es scheint so als wäre die ID "mainForm:name" mehrmals vorhanden ...
    Der Befehl oben sollte dir alle gefundenen Objekte mit dieser ID im Konsolenfenster ausgeben.

    Dann musst Du das richtige Objekt per Index ansteuern.

    Kenne mich leider nicht so gut aus, mit den _IE... Funktionen, aber so sollte es irgendwie gehen, denke ich.


    Gruß
    Greenhorn


  • Mal rein aus interesse - wozu zum Henker soll das _IELoadWait() ?

    Zitat

    Pausiert das Skript bis eine Seite im Browser fertig geladen wurde.


    Bist du sicher dass er dein Script nicht einfach deswegen pausiert ?

    Ansonsten ist auch Firefox mit der Web-Developer toolbar nützlich. Damit kannst du dir leicht Formularinformationen anzeigen lassen.

  • hab probiert funktioniert nicht.bekomme folgende fehlermeldung

    Spoiler anzeigen

    ---------------------------
    AutoIt Error
    ---------------------------
    Line 41 (File "C:\Users\Besitzer\Desktop\autoit.au3"):

    ConsoleWrite (_IEGetObjById ($oIE, "mainForm:name", -1))
    ConsoleWrite (^ ERROR

    Error: Incorrect number of parameters in function call.
    ---------------------------
    OK
    ---------------------------


    bei den anderen Formularfelder sind die id ja auch mehrmals vergeben aber da funktioniert es.

    Mal rein aus interesse - wozu zum Henker soll das _IELoadWait() ?


    Bist du sicher dass er dein Script nicht einfach deswegen pausiert ?

    Ansonsten ist auch Firefox mit der Web-Developer toolbar nützlich. Damit kannst du dir leicht Formularinformationen anzeigen lassen.

    _IELoadWait() hatte ich einfach so rein gemacht. habs jetzt entfernt und funkt immer noch nicht.

    Mfg

  • das brauchst du den davon,also welchen teil, weil das ziemlich lang ist.
    Index/ID/Name/Typ/Wert/Label/Größe/Max. Zeichen/Status


    MfG

    p.s echt ein geiles add-on kann man immmer gebrauchen.

  • Index.

    [autoit]

    _IEGetObjByName($oIE,"name","index")

    [/autoit]
    [autoit]

    _IEGetObjByName($oIE,"mainForm:name","7")

    [/autoit]

    hab das so gemacht und funktioniert auch nicht.


    MfG

  • [autoit]

    $oTemp=_IEGetObjByName($oIE,"mainForm:name",7)

    [/autoit]

    hab das jetzt so gemacht immer noc das gleiche problem.

    wieso macht er bei den feld ein problem die anderen felder haben doch auch gleichen namen und id?

    Einmal editiert, zuletzt von borntoload (22. November 2009 um 13:15)

  • sry das ich so spät antworte musste einiges für die uni tun.

    hab das problem jetzt irgendwie mit gebdat.

    Code
    Geburtsdatum<br><span title="&lt;input id=&quot;mainForm:birthDate&quot; name=&quot;mainForm:birthDate&quot; maxlength=&quot;10&quot;&gt;" class="webdeveloper-display-form-details">&lt;input id="mainForm:birthDate" name="mainForm:birthDate" maxlength="10"&gt;</span><input id="mainForm:birthDate" name="mainForm:birthDate" value="" maxlength="10" class="txtField" onchange="A4J.AJAX.Submit('mainForm:j_id80','mainForm',event,{'control':this,'oncomplete':function(request,event,data){YAHOO.debitelPosApi.registerInputEffects(); showBirthdateOverlays();},'parameters':{'ajaxSingle':'mainForm:birthDate','mainForm:j_id166':'mainForm:j_id166'} ,'actionUrl':'/pos/process/createSubscriber?execution=e3s1'} )" type="text">

    hab auch fomularinfomation von webdeveloper als jpg hochgeladen.

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

  • was braucht ihr den um das problem zu lösen.
    versucht das die ganze zeit schon, bin am verzweifel.
    das problem is doch eigentlich ganz simpel.
    helft mir bitte