Formularbutton per Javascript drücken

maceis

maceis

Aktives Mitglied
Thread Starter
Dabei seit
24.09.2003
Beiträge
16.880
Reaktionspunkte
626
Hallo zusammen,

ich möchte auf einer Seite via Javascript einen Button drücken, der im HTML Quelltest so aussieht:
PHP:
<button type="submit" value="Einloggen" name="loginButton" id="19" class="type-sub" onClick="changeJsDisabledHiddenField(this.form)">Einloggen
                  </button>

Geht das?
Wenn ja, wie?

Hintergrund des Ganzen ist eine automatische Anmeldung mit Applescript.
Alles andere habe ich schon selbst hinbekommen, nur das "Drücken" des Buttons nicht.
 
Kannst Du das Javascript, das bei onclick ausgeführt wird nicht ganz normal innerhalb einer Funktion aufrufen?

Beispiel:
Code:
tell application "Safari"
  do JavaScript "
  changeJsDisabledHiddenField(this.form)
end tell

this.form müsstest du entsprechend durch eine Referenz auf das Formular ändern.
 
Das scheint leider nicht zu funktionieren.

So hatte ich es schon versucht:
...
do JavaScript "changeJsDisabledHiddenField('this.form')" in document 1
...

Anstelle von this.form habe ich auch schon den id-Wert des form-Tags in Hochkommas eingetragen.
Aber auch das führt nicht zum Erfolg.

Die Funktion changeJsDisabledHiddenField sieht übrigens so aus:
PHP:
    function changeJsDisabledHiddenField(frm){
        frm.jsDisabled.value = "false"
    }

Aber auch damit, kann ich nicht wirklich etwas anfangen.
 
Hat das Feld mit Namen "jsDisabled" eine ID (bzw. kannst Du dem eine geben)?
Dann könntest Du folgendes probieren:

Code:
tell application "Safari"
  do JavaScript "
  document.getElementById('id_des_feldes').value = "false";
end tell
 
Ich habe leider keinen Einfluss auf die Seite.

Mit jsDisabled gibt es nur folgendes:
PHP:
<input type="hidden" name="jsDisabled" value="true" class="" onfocus="" onkeyup=""/>

Das hier führt leider nicht zum Erfolg.
PHP:
do JavaScript "document.getElementByName('jsDisabled').value= false" in document 1
 
Erstmal fehlt da ein s, es muss heißen getElementsByName, allerdings wirft das auch nicht nur ein Element zurück, sondern ein Array, weil der Name nicht eindeutig ist, im Gegensatz zur ID.

Ich würde mal document.getElementsByName('jsDisabled')[0].value probieren, bin mir aber nicht sicher, ob man Position 0 direkt so ansprechen kann. Ansonsten musst Du erst das Result vom get... in eine Variable speichern.
 
document.getElementsByName('jsDisabled')[0].value=false
Das gibt mir zware ein "false" zurück, aber es passiert leider nichts.
Mit anderen Worten: Ich muss den Button immer noch "von Hand" drücken.
 
Zurück
Oben Unten