Archivlink: javarea.de Forum > JavaScript > onSubmit bei onload?
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > onSubmit bei onload?

Pages: [1]

geschrieben von okley am 24.05.2006 - 11:54
Hallo zusammen

Ich denke mein Problem ist ein bekanntes. Oder ich habe etwas übersehen ...
Wenn ich per javascript meinem Form eine onSubmit funktion registrieren möchte mache ich das so:
HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
<body>
<script language="javascript">

	function trim(str){
		return str.replace(/^\s*|\s*$/g,"");
	}

	function checkField(elementId){

		var el = document.getElementById(elementId);

		if(trim(el.value) == ""){
			alert('empty text ...');
			return false;
		}
		return true;
	}

</script>
<form name="frmMain" id="frmMain" method="post" action="nini.html">
	insert bkps here:<br/>
	<textarea cols="5" rows="2" id="txtBKPNum"></textarea>
	<input type="submit" value="leave the shit"></input>
</form>
<script language="javascript">
	document.getElementById('frmMain').onSubmit = checkField('txtBKPNum');
</script>
</body>


Leider ist es jetzt aber so, dass die Funktion checkField schon beim onLoad aufgerufen wird. Ich habe leider nicht die Möglichkeit, direkt im Formtag den event als Attribute anzugeben.

Ich hab dann ein kleinen Hack versucht:
document.getElementById('frmMain').addAttribute("onSubmit", "return checkField('txtBKPNum')");
aber das geht auch nicht

Weiss jemand rat?

geschrieben von okley am 24.05.2006 - 13:25
So jetzt hab ich die Lösung für mein Problem:

HTML-Quelltext
1: 
2: 
3: 
<script>
	document.getElementById('frmMain').onsubmit = function foo(){return checkField('txtBKPNum')};
</script>

ich weiss nicht warum ich es so machen muss. Aber so geht es. Die Funktion checkField wird erst aufgerufen, wenn ich die Form per Click submitte. Und nicht schon beim Laden der Seite. Kann sich jemand erklären warum es eine anonyme Funktion dazu braucht? Und wieso das nicht direkt geht?

geschrieben von okley am 25.05.2006 - 17:17
Weiss denn wirklich niemand, an was das liegt?
Da bin ich jetzt aber grad ein bischen entäuscht ....


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.