Checkbox Eingabe prüfen....
James
- javascript
Ich habe da ein Form und wollte das um 3 Checkboxen erweitern, was eigentlich kein Problem ist.
Das alte Form habe ich mit einer Prüfung belegt, um Fehler abzufangen.
Aber nun möchte ich auch die Checkbox Eingabe prüfen lassen.
Was muss ich in mein vorhandenes Script einfügen, um das prüfen zu lassen ???
Es muss 1 Checkbox angeklickt werden, sonst darf die Mail nicht rausgehen !
Also mit einem Hinweis, wie bei den anderen Eingaben !
----------------------------------------------------------------
<CENTER>
<TABLE align=center cellSpacing=0 cellPadding=0 width="60%" bgColor=#ffcc00 border=0>
<td>
<script Language="JavaScript">
<!--
function checkForm(theForm)
{
if (theForm.name.value == "")
{
alert("Bitte geben Sie ihren Namen ein !");
theForm.name.focus();
return (false);
}
if (theForm.strasse.value == "")
{
alert("Bitte geben Sie ihren Strassennamen ein !");
theForm.strasse.focus();
return (false);
}
if (theForm.plz.value == "")
{
alert("Bitte geben Sie ihre PLZ und ihren Ort ein !");
theForm.plz.focus();
return (false);
}
if (theForm.email.value == "")
{
alert("Bitte geben Sie ihre E-Mail ein !");
theForm.email.focus();
return (false);
}
if (theForm.email.value != "")
{
var checkEMail = theForm.email.value;
if (checkEMail.indexOf('@',1) < 1 || checkEMail.indexOf('.',2) < 1)
{
alert("Das ist keine gültige E-Mail !");
theForm.email.focus();
return (false);
}
}
return (true);
}
//-->
</script>
<form method="POST" action="mailto:mail@t-online.de" onsubmit="return checkForm(this)" enctype="text/plain">
<input type="hidden" name="Contact from" value="spiel">
<table border="0" cellspacing="0" cellpadding="0" width="350" align="center">
<br><center>
<tr>
<br>
<b><u>DIE FRAGE</u> <font color="red">*</font></b><br>
<br><left>
<input type="checkbox" name="gewinnantwort" value="ABC"> ABC<br>
<br><left>
<input type="checkbox" name="gewinnantwort" value="DEF"> DEF<br>
<br><left>
<input type="checkbox" name="gewinnantwort" value="GHI"> GHI<br>
<br><br><br><br>
<tr>
<td>
<p><font size="3" color="#FFFFFF" face="Arial,Helvetica,Geneva,Swiss"><B>Name: <font color="red">*</font></B></font></p>
</td>
<td><input type="text" name="name" size="40" tabindex="05"></td>
</tr>
<tr>
<td>
<p><font size="3" color="#FFFFFF" face="Arial,Helvetica,Geneva,Swiss"><B>Strasse: <font color="red">*</font></B></font></p>
</td>
<td><input type="text" name="strasse" size="40" tabindex="07"></td>
</tr>
<tr>
<td>
<p><font size="3" color="#FFFFFF" face="Arial,Helvetica,Geneva,Swiss"><B>PLZ/Ort: <font color="red">*</font></B></font></p>
</td>
<td><input type="text" name="plz" size="40" tabindex="08"></td>
</tr>
<tr>
<td>
<p><font size="3" color="#FFFFFF" face="Arial,Helvetica,Geneva,Swiss"><B>E-Mail: <font color="red">*</font></B></font></p>
</td>
<td><input type="text" value="Bitte erst einmal Space tippen !" name="email" size="40" tabindex="11"></td>
</tr>
</table>
<p><font size="3" color="#FFFFFF" face="Arial,Helvetica,Geneva,Swiss"><B><font color="red">*</font> Benötigte Angaben !<br>
<br><br><center>
<input type="submit" value="SENDEN" tabindex="13"> <input type="reset" value="LÖSCHEN" ></font></p></form>
<BR><BR><BR><BR>
</td></table></td></table>
</center></BODY></HTML>
-------------------------------------------------------------
Ich danke Euch schon einmal !!!
James
Ahoi James!
Ich habe da ein Form und wollte das um 3 Checkboxen erweitern, was eigentlich kein Problem ist.
Aber nun möchte ich auch die Checkbox Eingabe prüfen lassen.
Was muss ich in mein vorhandenes Script einfügen, um das prüfen zu lassen ???
Wie man prueft, ob eine Checkbox aktiviert ist steht unter: http://www.teamone.de/selfhtml/tecbbda.htm#a2
Es muss 1 Checkbox angeklickt werden, sonst darf die Mail nicht rausgehen !
Jetzt musst Du nur noch ueberpruefen, ob eine von denen aktiviert wurde (oder andersherum, ob alle nicht aktiviert sind):
if(document.namedesform.gewinnantworta.checked != true && document.namedesform.gewinnantworta.checked != true && document.namedesform.gewinnantworta.checked != true) {
alert ("blabla");
}
Alles ungetestet...
Gruesse
-> Andreas
Hi!
Haette ich fast vergessen...
Die Checkboxen duerfen natuerlich nicht alle die gleichen Namen haben!
if(document.namedesform.gewinnantworta.checked != true && document.namedesform.gewinnantworta.checked != true && document.namedesform.gewinnantworta.checked != true) {
alert ("blabla");
}
if(document.namedesform.gewinnantworta.checked != true && document.namedesform.gewinnantwortb.checked != true && document.namedesform.gewinnantwortc.checked != true) {
alert ("blabla");
}
Alles ungetestet...
bleibt dabei ;-)
Gruesse
-> Andreas
Hi!
Haette ich fast vergessen...
Die Checkboxen duerfen natuerlich nicht alle die gleichen Namen haben!
if(document.namedesform.gewinnantworta.checked != true && document.namedesform.gewinnantworta.checked != true && document.namedesform.gewinnantworta.checked != true) {
alert ("blabla");
}
if(document.namedesform.gewinnantworta.checked != true && document.namedesform.gewinnantwortb.checked != true && document.namedesform.gewinnantwortc.checked != true) {
alert ("blabla");
}
Alles ungetestet...
bleibt dabei ;-)
Gruesse
-> Andreas
---------------------
YO THX !!!!
Ich werde das mal testen ! ;-))))
James
I BEKOMME DAS NICHT HIN !!!!!!!!!!!!!!!!!!!!
Kannst Du mir das nicht mal irgendwie zeigen, wie ich das machen muss und wie ich das in meine Seite einbaue !!!
Muss ich einen neuen Javascript machen oder kann ich das in meine alte Prüfroutine einbauen (wollte ich eigentlich!) ???
Hallo!
I BEKOMME DAS NICHT HIN !!!!!!!!!!!!!!!!!!!!
Keine Panik. Sooo schwierig ist das nun auch nicht...
Kannst Du mir das nicht mal irgendwie zeigen, wie ich das machen muss und wie ich das in meine Seite einbaue !!!
Wenn Du den (aktuellen) Quellcode (noch einmal) postest, dann ja.
Muss ich einen neuen Javascript machen oder kann ich das in meine alte Prüfroutine einbauen (wollte ich eigentlich!) ???
Letzteres sollte eigentlich funktionieren.
Viele Gruesse
-> Andreas
so ist die prüfung die ich habe (das funzt schon) :
<script Language="JavaScript">
<!--
function checkForm(theForm)
{
if (theForm.name.value == "")
{
alert("Bitte geben Sie ihren Namen ein !");
theForm.name.focus();
return (false);
}
if (theForm.strasse.value == "")
{
alert("Bitte geben Sie ihren Strassennamen ein !");
theForm.strasse.focus();
return (false);
}
if (theForm.plz.value == "")
{
alert("Bitte geben Sie ihre PLZ und ihren Ort ein !");
theForm.plz.focus();
return (false);
}
if (theForm.email.value == "")
{
alert("Bitte geben Sie ihre E-Mail ein !");
theForm.email.focus();
return (false);
}
if (theForm.email.value != "")
{
var checkEMail = theForm.email.value;
if (checkEMail.indexOf('@',1) < 1 || checkEMail.indexOf('.',2) < 1)
{
alert("Das ist keine gültige E-Mail !");
theForm.email.focus();
return (false);
}
}
return (true);
}
//-->
</script>
###########################################
und das soll auch noch geprüft werden:
<br><left><input type="radio" name="gewinnantwort" value="A"> A<br>
<br><left><input type="radio" name="gewinnantwort" value="B"> B<br>
<br><left><input type="radio" name="gewinnantwort" value="C"> C<br>
###########################################
Kann man das in meine bestehende Prüfung einbauen ?
Oder muss da eine ganze neue Prüfung aufgerufen werden ???
THX 4 HLP !!!
VERGESSEN:
<form name="wo-form" method="POST" action="mailto:post@post.de?subject=Gewinnspiel" onsubmit="return checkForm(this)" enctype="text/plain">
In diesem Form wird alles abgearbeitet, die Gewinnfrage und die persönlichen Daten !
Die Prüfung persönlichen Daten funzt gut !
Nur ob ein Radiobutton angeklickt wurde oder nicht bekomme ich nicht hin ! *heul*
Die Prüfung soll ja nur prüfen, ob einer der Radiobutton angeklickt wurde oder nicht.
Wenn nicht soll ein Alert kommen...
James
Hallo!
Nur ob ein Radiobutton angeklickt wurde oder nicht bekomme ich nicht hin ! *heul*
Oh je, jetzt sind es Radiobuttons. Da funktioniert die Abfrage natuerlich anders als bei den Checkboxen. Siehe: </selfhtml/tecbbda.htm#a2>
Die Prüfung soll ja nur prüfen, ob einer der Radiobutton angeklickt wurde oder nicht.
Wenn nicht soll ein Alert kommen...
So funktioniert es bei mir:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
<script Language="JavaScript">
<!--
function checkForm(theForm)
{
if(theForm.gewinnantwort[0].checked != true && theForm.gewinnantwort[1].checked != true && theForm.gewinnantwort[2].checked != true) {
alert ("Bitte Antwort eingeben!");
theForm.gewinnantwort.focus();
return (false);
}
if (theForm.name.value == "")
{
alert("Bitte geben Sie ihren Namen ein !");
theForm.name.focus();
return (false);
}
if (theForm.strasse.value == "")
{
alert("Bitte geben Sie ihren Strassennamen ein !");
theForm.strasse.focus();
return (false);
}
if (theForm.plz.value == "")
{
alert("Bitte geben Sie ihre PLZ und ihren Ort ein !");
theForm.plz.focus();
return (false);
}
if (theForm.email.value == "")
{
alert("Bitte geben Sie ihre E-Mail ein !");
theForm.email.focus();
return (false);
}
if (theForm.email.value != "")
{
var checkEMail = theForm.email.value;
if (checkEMail.indexOf('@',1) < 1 || checkEMail.indexOf('.',2) < 1)
{
alert("Das ist keine gültige E-Mail !");
theForm.email.focus();
return (false);
}
}
return (true);
}
//-->
</script>
</head>
<body>
<form name="wo-form" method="POST" action="mailto:post@post.de?subject=Gewinnspiel" onsubmit="return checkForm(this)" enctype="text/plain">
<br><left><input type="radio" name="gewinnantwort" value="A"> A<br>
<br><left><input type="radio" name="gewinnantwort" value="B"> B<br>
<br><left><input type="radio" name="gewinnantwort" value="C"> C<br>
<input type="submit" value="go">
</form>
</body>
</html>
Musst nur noch die anderen Input Felder hinzufuegen...
Viele Gruesse
-> Andreas
JUHU !!!!!!!!!!!!
Es geht !!!!!!
BIG THX ANDREAS !!!!!!!!!!
Aber nun möchte ich (wenn es geht) auch noch das hier:
Wenn der Alert kommt, dann klicke ich auf OK/ABBRECHEN...
...aber dann will er auch schon die Mail senden, per Alert...
Kann ich das nicht abfangen, so das das Script einfach nur den Alert ausgibt ?
Das funzt mit meiner anderen Abfrage auch so, da spring er wieder zu dem Eingabefeld zurück....
Geht das auch mit dieser Abfrage ???
ALSO NOCH EINMAL BIG THX !!!!
Hallo!
Aber nun möchte ich (wenn es geht) auch noch das hier:
Wenn der Alert kommt, dann klicke ich auf OK/ABBRECHEN...
...aber dann will er auch schon die Mail senden, per Alert...
Kann ich das nicht abfangen, so das das Script einfach nur den Alert ausgibt ?
mmhhh, nimm den focus heraus ( --> theForm.gewinnantwort.focus() ), dann funktioniert es. Warum weiss ich im Moment auch nicht. JavaScript ist nicht so meine Staerke...
Wenn Du jedoch unbedingt wieder zum Anfang springen musst, versuch einen Anker an den Radio-Buttons zu setzten und diesen nach mit loaction.href wieder anzuspringen. Steht alles in Selfhtml drin...weiss jedoch nicht, ob es funktioniert.
Viele Gruesse
-> Andreas
Noch einmal MEGA THX Andreas !!!!
Genau das war es was ich brauchte !!! ;-)))
So funzt es supi !!!
ALSO BESTEN DANK ANDREAS !!!!!!!!!!!!!
cu
James