prüfen ob ""
steffen
- javascript
Hi Leute,
bisher klappt alles einwandfrei auch das onChange hat prima geholfen :)
Nur mit meiner 2ten Frage haut das irgendwie nicht so hin wie ich das möchte.
wenn das feld einfach mit tab reingeklickt wird und nichts eingegeben wird soll ein fehler kommen.
achja ne kleine zwischenfrage. wenn ich die index.html aufrufe soll der courser direkt in ein formular gesetzt werden ohne das der user etwas macht. mit onFocus hab ich es mal probiert klappt aber nicht so wie ich das gerne möchte.
Code zu frage1 wäre:
<html><head><title>Test</title>
<script type="text/javascript">
<!--
function CheckZahl(Wert)
{
if(isNaN(Wert) == true)
{
alert(Wert + " ist keine Zahl!");
return false;
}
else
return true;
if(Wert == ""){
alert("blubb");
return false;
}
else
return true;
}
//-->
</script>
</head><body>
<form action="">
<input size="30" name="Eingabe" onChange="CheckZahl(this.form.Eingabe.value)">
</form>
</body></html>
Was mache ich falsch?
Hi,
wenn das feld einfach mit tab reingeklickt wird und nichts eingegeben wird soll ein fehler kommen.
onChange reagiert nur auf Veränderungen. Das Verlassen eines Feldes stellst Du mit onBlur fest. Allerdings ist dieses Verfahren - insbesondere dann, wenn Du den Cursor wieder in das Feld setzt - äußerst userunfreundlich: Du zwingst ihn, JavaScript zu deaktivieren, wenn er aus irgendwelchen Gründen noch nichts in das Feld eintragen will.
achja ne kleine zwischenfrage. wenn ich die index.html aufrufe soll der courser direkt in ein formular gesetzt werden ohne das der user etwas macht. mit onFocus hab ich es mal probiert klappt aber nicht so wie ich das gerne möchte.
onXYZ sind Event-Handler - sie erlauben eine Reaktion auf ein Ereignis. Sie sind in keinem Fall mit der entsprechenden Aktion zu verwechseln. Du möchtest die focus()-Methode auf das entsprechende Feld anwenden, und zwar z.B. onLoad oder direkt nachdem das Eingabefeld vorhanden ist.
Cheatah
Hi cheatah,
ich verachte so eine Möglichkeit. Überhaupt versuche ich so wenig JS wie möglich einzusetzen, jedoch istdas eine aufgabe in unserem Programmierkurs in der Schule. Anstatt PHP zu machen hält er es für richtig JavaScript zu machen.
Naja müßen ein Zeugnisrechner machen.
Und da "zwingt" man den User nunmal die Note dort einzutragen ;)
Hi,
ich verachte so eine Möglichkeit. [...]
das freut mich zu hören :-)
Anstatt PHP zu machen hält er es für richtig JavaScript zu machen.
Allerdings begrüße ich die Entscheidung, die Leute nicht zu PHP zu verleiten.
Naja müßen ein Zeugnisrechner machen.
Und da "zwingt" man den User nunmal die Note dort einzutragen ;)
Man kann ihn gerne zwingen, aber nicht unbedingt in dem Moment. Prüfe beim Versuch, die Daten abzuschicken, anstatt den User mitten im Prozess in einer Endlosschleife gefangenzunehmen.
Cheatah
Hi,
function CheckZahl(Wert)
{
if(isNaN(Wert) == true)
{
alert(Wert + " ist keine Zahl!");
return false;
}
else
return true;
Der folgende Teil wird NIE erreicht, da sowohl im if-zweig als auch im else-zweig der obenstehenden Abfrage ein return steht - also die Funktion verlassen wird...
if(Wert == ""){
alert("blubb");
return false;
}
else
return true;
}
cu,
Andreas
Hallo steffen,
Nur mit meiner 2ten Frage haut das irgendwie nicht so hin wie ich das möchte.
*grmpf* wenn ich das hier früher gesehen hätte, hätte ich mir zweimal überlegt, ob ich unten noch mal poste.
Was mache ich falsch?
du machst einen neuen Thread auf, obwohl unten noch ein alter ist: [pref:t=59431&m=334806].
achja ne kleine zwischenfrage. wenn ich die index.html aufrufe soll der courser direkt in ein formular gesetzt werden ohne das der user etwas macht.
onload="" in Verbindung mit focus()
Grüße aus Nürnberg
Tobias
sry tobi :)
wusste nich ob du unten nochmal nachschaust muss das morgen abgeben hab deshalb nochmal neu eröffnet.
hab jetzt das problem das onChange schon in dem Formular ist, aberi ch bräuchte 2 * das onChange.
<input class="eingabe" tabindex="8" type="Text" name="input_8" value="" size="3" maxlength="3" OnChange="validate(1)">
wie kann ich mehrere funktionen in onChange packen?
das wär dann die letzte Frage bedank mich recht herzlich euch allen :)
Hallo steffen,
wusste nich ob du unten nochmal nachschaust muss das morgen abgeben hab deshalb nochmal neu eröffnet.
natürlich schau ich unten nochmal vorbei, nur war ich heute vormittag eben noch nicht hier...
wie kann ich mehrere funktionen in onChange packen?
indem du die Funktionen mit einem ; trennst: onchange="funkton1();funktion2();" (du kannst natürlich auch mehr als zwei Funktionen reinschreiben)
Grüße aus Nürnberg
Tobias
Hi tobias.
Die Hilfe hier ist echt Klasse :) Funktioniert alles wunderbar.
Vielen Dank.
Hi nochmal.
Hmmm wenn der effekt onBlur oder onChange eintrifft soll er in dem gleichen Feld bleiben tut er jedoch nicht ... wieso?
Steffen
Hi,
Hmmm wenn der effekt onBlur oder onChange eintrifft soll er in dem gleichen Feld bleiben tut er jedoch nicht ... wieso?
er bleibt im selben Feld, nämlich in dem, in dem er sich gerade befindet: dem nächsten Feld (oder wo immer der User hingesteuert hat). Von der Lösung, die ich Dir bereits nannte, rate ich (in genau jener Situation) strikt ab.
Cheatah