onSubmit-Ereignis mittels Javascript nachträglich hinzufügen
Ploch, Andreas
- javascript
Hallo zusammen !
seit einigen Tagen habe ich mich an einem kleinen Problem festgebissen ....
Ich habe folgende Javascript-Funktion :
function addEvent(obj, evType, fn) {
if (obj.addEventListener){
obj.addEventListener(evType, fn, false);
return true;
} else if (obj.attachEvent){
var r = obj.attachEvent("on"+evType, fn);
return r;
} else return false;
}
Diese funktioniert wie vorgesehen und ich kann z.Bsp. mittels
addEvent(window, 'load', replaceSearchField, false);
nach dem Laden der Seite den Aufruf einer replaceSearchField() - Funktion erzeugen. Dies finde ich ganz brauchbar, da ich somit keinen Javascript - Code in meinen XHTML-Quelltext einbauen brauche und dieser somit übersichtlich bleibt.
Aber :
Ich besitze ein Formular, welchen ich nach Laden der Seite ein onsubmit="suchen()" - Ereignis mittels o.g. Funktion im <form>-Tag hinzufügen möchte.
<form name="form1" id="form1" method="post" action="">
<input name="begriff" type="text" id="begriff" />
<input type="submit" name="Submit" value="Senden" />
</form>
Mit welchen Argument muß ich die addEvent - Funktion aufrufen, um das Formular ansprechen zu können ?
addEvent(document.form1, 'onsubmit', suchen, false);
funktioniert leider nicht ....
Hätte jemand einen Vorschlag ?
Vielen Dank schon mal im voraus für evtl. eingehende Antworten !
Andreas
Hallo Ploch,.
<form name="form1" id="form1" method="post" action="">
<input name="begriff" type="text" id="begriff" />
<input type="submit" name="Submit" value="Senden" />
</form>Mit welchen Argument muß ich die addEvent - Funktion aufrufen, um das Formular ansprechen zu können ?
addEvent(document.form1, 'onsubmit', suchen, false);
funktioniert leider nicht ....
Natürlich nicht. Schließlich existiert kein <http://de.selfhtml.org/javascript/objekte/forms.htm#allgemeines@title=Formular mit dem Namen> „form1“. Dass eines mit der ID „form1“ existiert, tut nichts zur Sache.
Entweder fügst du nun noch den erforderlichen Wert für das namen-Attribut hinzu, greifst gleich mit document.getElementById("form1") darauf zu oder greifst mittels Index in der document.forms-Kollektion auf das Formular zu.
Hätte jemand einen Vorschlag ?
Vielen Dank schon mal im voraus für evtl. eingehende Antworten !
Du plenkst.
Einen schönen Mittwoch noch.
Gruß, Ashura
Hallo.
<form name="form1" id="form1" method="post" action="">
Natürlich nicht. Schließlich existiert kein <http://de.selfhtml.org/javascript/objekte/forms.htm#allgemeines@title=Formular mit dem Namen> „form1“. Dass eines mit der ID „form1“ existiert, tut nichts zur Sache.
Ich ziehe dies zurück, es ist offenbar noch zu früh.
Wie lauten etwaige Fehlermeldungen? (JS-Konsole)
Einen schönen Mittwoch noch.
Gruß, Ashura
hi,
Ich ziehe dies zurück, es ist offenbar noch zu früh.
Vielleicht ist das auch Andreas' Problem - dass er versucht, auf das Formular zuzugreifen, bevor es existiert.
gruß,
wahsaga
Ich besitze ein Formular, welchen ich nach Laden der Seite ein onsubmit="suchen()" - Ereignis mittels o.g. Funktion im <form>-Tag hinzufügen möchte.
Nicht vielleicht besser return suchen()?
Evtl. wilst du das abschicken des Formulares verhindern.
addEvent(document.form1, 'onsubmit', suchen, false);
Schau dir nochmal die Funktion an und vor allem was aus dem 2. Parameter wird, der 4. Parameter ist überflüssig.
Struppi.