Archivlink: javarea.de Forum > JavaScript > radiobuttons-check
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > radiobuttons-check

Pages: [1]

geschrieben von markus69 am 01.03.2005 - 10:56
hallo
ich möchte auf meiner seite einen sicherheits-check für radiobuttons. das ein user also bei einer auswahl von 3 radiobuttons einen aktivieren muss, damit das formular übergeben wird.
das klappt fast mit folgendem code:

<script language="JavaScript">
<!--
function formcheck() {
form = document.FORMULAR;
error = "";

//Radiobuttons überprüfen --->
if (!form.radiobutton[0].checked && !form.radiobutton[1].checked && !form.radiobutton[2].checked) {
error += "- Keine Auswahl getroffen!";
}

//Fehlerausgabe --->
if (error != "") {
errormsg = "Folgender Fehler ist aufgetreten: ";
errormsg += error;
alert(errormsg);
//Die Rückgabe eines Wertes über die Anweisung
//"return" führt zu einem Abbruch der Funktion
return false;
}
return true;
}
//-->
</script>

und
<form name="FORMULAR" onSubmit="return formcheck()" method="post" action="test2.php">

das seltsame ist nur:
es klappt bei 2 radiobuttons. wenn 3 buttons im einsatz sind und der dritte angeklickt wird, sagt das script immer, es sei nichts ausgewählt worden

versteht das jemand?
wäre für einen tipp dankbar

geschrieben von René am 01.03.2005 - 11:02
roter Text in deinem Code.

geschrieben von markus69 am 01.03.2005 - 11:27
danke vielmals für den hinweis.
jetzt hab ich's geckeckt. pro zeile (!form..etc.) ein button.

thanx a lot

geschrieben von Klaush am 01.03.2005 - 12:09
Wenn ich dein Beispiel sehe, ist es dann nicht richtig wenn hier eine ODER Verknüpfung gewählt werden müsste?

Deine Radioboxengruppe kann keine 2 oder Mehrfachauswahl haben, da der Name radiobutton gleich ist, folglich muss auch nicht auf UND geprüft werden, nach dem Motto (entweder einer, ODER keiner).

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: 
29: 
<script language="JavaScript">
<!--
function formcheck()
{
	form = document.FORMULAR;
	error = "";

       // Radiobuttons überprüfen
	if (!(form.radiobutton[0].checked || form.radiobutton[1].checked || form.radiobutton[2].checked))
		error += "- Keine Auswahl getroffen!";


	// Fehlerausgabe
	if (error != "")
	{
		alert("Folgender Fehler ist aufgetreten: " + error);
		return false;
	}

	return true;
}
//-->
</script>
und
<form name="FORMULAR" onsubmit="return formcheck()" method="post" action="test2.php">
1:<input type="radio" name="radiobutton" ... ><br>
2:<input type="radio" name="radiobutton" ... ><br>
3:<input type="radio" name="radiobutton" ... ><br>
<input type=submit>



geschrieben von markus69 am 15.03.2005 - 05:44
nochmal ein frage zum obigen javascript:

vorab wird per php ein formular generiert. je nach dem hab ich manchmal 2, manchmal 3 radiobuttons (je nachdem was in der DB gewählt wurde. geschieht alles dynamisch!).

das problem ist nun das dieses javascript so nicht 100%ig funktioniert.

if (!form.best_preis_id[0].checked && !form.best_preis_id[1].checked && !form.best_preis_id[2].checked)

wenn php nur 2 radiobuttons generiert stimmt dieser code nun nicht mehr.
frage:
kann das javascript diesbezüglich angepasst werden oder muss ich eine andere lösung verwenden?

weiss jemand rat?

geschrieben von Patrick am 15.03.2005 - 13:14
ist doch klar, dass dieser Code nicht funktioniert, bei 2 Buttons, du versuchst aber 3 zu überprüfen.... Sowas ist einfach logisch, dass kann nicht klappen.

Du musst vorher noch mittels php eine Variable füllen, wie viele Buttons generiert wurden...

ggfs wird dein Script auch nicht mit 4 Buttons funktionieren...

Evtl solltest du dieses JavaScript aus PHP heraus generieren oder die Überprüfung direkt mit php machen...



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