29457
18.03.2008, aktualisiert am 20.04.2008
24556
5
0
Feld leer und Checkbox Ueberpruefung
Ich weis, es ist nichts besonderes. Aber gerade für die die es nicht können und die die diese Funktion schon immer suchten ist es sicher praktisch.
javascript
<script type="text/javascript">
<!--
function is_value(){
if (document.formular.feld.value == ""){
alert('Bitte fülle das Feld aus');
return false;
}
Änderung einfügen
alert('Du hast: ' + '"' + document.formular.feld.value + '"' + ' geschrieben.');
}
-->
</script>
Die HTML Sache könnte dann so aussehen.
Wer hierzu speziell Fragen hat darf sie hier stellen.
Zur sicherheit sollte natuerlich per PHP auch noch eine Abfrage gemacht werden. Falls z.b. jemand javascript nicht aktiviert hat.
javascript
Und in HTML müsste das so aussehen.
das ganze skript kann man natuerlich auch in ein paar lines, jedoch ohne javascript fenster:
Hier gilt natuerlich auch, dass jeder, der Fragen zum Script hat, hier Fragen soll.
Viel Spaß damit!
Schritt 1
Im folgenden javascript wird ueberprueft ob ein Feld ausgefuellt wurde, oder nicht.javascript
<script type="text/javascript">
<!--
function is_value(){
if (document.formular.feld.value == ""){
alert('Bitte fülle das Feld aus');
return false;
}
Änderung einfügen
alert('Du hast: ' + '"' + document.formular.feld.value + '"' + ' geschrieben.');
}
-->
</script>
Die HTML Sache könnte dann so aussehen.
<form name="formular" method="post" action="" onSubmit="return is_value()">
<input type="text" name="feld">
<input type="submit" name="Submit" value="Senden">
Wer hierzu speziell Fragen hat darf sie hier stellen.
Zur sicherheit sollte natuerlich per PHP auch noch eine Abfrage gemacht werden. Falls z.b. jemand javascript nicht aktiviert hat.
Schritt 2
Als naechstes darf ein Button wie "Senden" erst anklickbar sein wenn ein Haeckchen gemacht wurde das die AGB bestaetigt wurden.javascript
<script type="text/javascript">
<!--
function is_checked()
{
if (document.formular.agb.checked == true)
{
document.formular.Submit.disabled = false;
}
else
{
document.formular.Submit.disabled = true;
alert('Du musst die AGB aktzeptieren!');
return false;
}
}
//-->
</script>
Und in HTML müsste das so aussehen.
<form name="formular" method="post" action="">
AGB Aktzeptiert?
<input type="checkbox" name="agb" onClick="is_checked()">
<input type="submit" name="Submit" value="Senden" disabled>
das ganze skript kann man natuerlich auch in ein paar lines, jedoch ohne javascript fenster:
<input name="agreecheck" type="checkbox" onclick="this.form.subm.disabled=!this.checked">akzeptieren<br>
<input type="Submit" value="Senden" name="subm" disabled>
Hier gilt natuerlich auch, dass jeder, der Fragen zum Script hat, hier Fragen soll.
Viel Spaß damit!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 83381
Url: https://administrator.de/contentid/83381
Ausgedruckt am: 22.11.2024 um 07:11 Uhr
5 Kommentare
Neuester Kommentar
@rabbit
. . . nützliche Textfeld-Abfrage?
Änder' den Java-Script-Code mal um:
Dann gib' mal im Textfeld ein oder mehr Leerzeichen ein. Dann ist das Textfeld
in der Java-Script-Prüfung nicht mehr leer( . . . value==""), und das Formular
wird abgeschickt.
Ausgabe von alert:
Du hast: " " geschrieben.
Jetzt mag das nicht so relevant sein, wenn jemand statt Telefonnummer ein Leerzeichen
eingibt, aber wenn jemand ein Gästebuch oder ein Registrierungsformular anbietet, dann ist
die Datenbank schnell gefüllt mit Leereinträgen von irgendwelchen Scherzkeksen.
Gruß
Günni
. . . nützliche Textfeld-Abfrage?
Änder' den Java-Script-Code mal um:
<script type="text/javascript">
<!--
function is_value(){
if (document.formular.feld.value == ""){
alert('Bitte fülle das Feld aus');
return false;
}
//Änderung einfügen
alert('Du hast: ' + '"' + document.formular.feld.value + '"' + ' geschrieben.');
}
//-->
</script>
Dann gib' mal im Textfeld ein oder mehr Leerzeichen ein. Dann ist das Textfeld
in der Java-Script-Prüfung nicht mehr leer( . . . value==""), und das Formular
wird abgeschickt.
Ausgabe von alert:
Du hast: " " geschrieben.
Jetzt mag das nicht so relevant sein, wenn jemand statt Telefonnummer ein Leerzeichen
eingibt, aber wenn jemand ein Gästebuch oder ein Registrierungsformular anbietet, dann ist
die Datenbank schnell gefüllt mit Leereinträgen von irgendwelchen Scherzkeksen.
Gruß
Günni
@rabbit
Hi,
ich glaube, du hast da etwas falsch verstanden:
Mein Beitrag sollte keine Ergänzung sein, sondern du solltest dir mal ansehen,
was passiert, wenn ein User Leerzeichen in einem Textfeld eingibt.
Die Überprüfung if (document.formular.feld.value == ""){. . .
greift nämlich nur, wenn wirklich nichts eingegeben wurde. Ein Leerzeichen ist
aber eine gültige Eingabe(ob JavaScript oder PHP). Und somit wird das Formular
gesendet, und ein Gästebucheintrag sieht dann z.B. so aus:
Beitragschreiber: <- Da steht nix!!!
Nicht sehr schön
Besser ist es, zu prüfen, ob gültige Eingaben gemacht wurden, mittels eines
regulären Ausdrucks:
Jetzt bin ich auch nicht der Profi in regulären Ausdrücken, aber zumindest
muß hier eine lesbare Eingabe gemacht werden.
Gruß
Günni
Hi,
ich glaube, du hast da etwas falsch verstanden:
Mein Beitrag sollte keine Ergänzung sein, sondern du solltest dir mal ansehen,
was passiert, wenn ein User Leerzeichen in einem Textfeld eingibt.
Die Überprüfung if (document.formular.feld.value == ""){. . .
greift nämlich nur, wenn wirklich nichts eingegeben wurde. Ein Leerzeichen ist
aber eine gültige Eingabe(ob JavaScript oder PHP). Und somit wird das Formular
gesendet, und ein Gästebucheintrag sieht dann z.B. so aus:
Beitragschreiber: <- Da steht nix!!!
Nicht sehr schön
Besser ist es, zu prüfen, ob gültige Eingaben gemacht wurden, mittels eines
regulären Ausdrucks:
<script type="text/javascript">
<!--
function check_eingabe(){
ok=false;
//Prüfen, ob Textfeld nick Buchstaben enthält, damit schonmal
//das Feld nicht leer bleibt.
muster=/[A-Za-zÄÖÜäöüß]/;
test=muster.exec(document.formular.nick.value);
if(test){ok=true;} // Wenn ja, dann O.K.
if(!ok || document.formular.nick.value=="Bitte korrekt ausfüllen!"){
document.formular.nick.value="Bitte korrekt ausfüllen!";
return false;
}
return true;
}
// -->
</script>
muß hier eine lesbare Eingabe gemacht werden.
Gruß
Günni