Om nah hoo pez nyeetz, alle!
Ich habe ein Formualar, das vor dem Absenden auf gewisse Fehler geprüft werden soll. Verpasse ich dem Formular einen entsprechenden Handler
<form ... name="myform" onsubmit="return validieren();">
funktioniert das wunderbar, das Formular wird validiert und im Fehlerfall die Standardaktion unterdrückt.
Verwende ich jedoch (Quelle: molily)
~~~javascript
function addEvent (obj, type, fn)
{
if (obj.addEventListener)
{
obj.addEventListener(type, fn, false);
}
else if (obj.attachEvent)
{
obj.attachEvent('on' + type, function () {return fn.call(obj, window.event);});
}
}
und
`addEvent(document.forms['myform'], 'submit', validieren);`{:.language-javascript}
wird die Funktion validieren ausgeführt, das Formular jedoch trotzdem abgesendet. Die (ihre Arbeit im ersten Fall richtig machende) Funktion validieren sieht so aus
~~~javascript
function validieren()
{
var fehleranzahl = 0;
// fehler suchen
if (fehleranzahl > 0)
{
alert('Bitte die Fehler beseitigen!');
return false;
}
return true;
}
Was übersehe ich dabei?
Warum wird im ersten Fall die Standardaktion unterdrückt, im zweiten jedoch nicht?
Matthias
1/z ist kein Blatt Papier.