Submit-Button nach Klick auf Radio-Button aktivieren

Status
Nicht offen für weitere Antworten.

altox-de

Erfahrenes Mitglied
Hallo zusammen.
Ich habe folgendes Problem:

Meine Seite enthält folgenden <form>-Teil:

HTML:
<form method="post" action="02.php" name="frage">
															<table width="100%" border="0" cellspacing="0" cellpadding="0">
																<tr>
																	<td valign="top" width="20"><input type="radio" name="radio01" value="1" onKeyUp="aktualisieren(this.value);"></td>
																	<td><font face="Arial">hihi.</font></td>
																</tr>
																<tr>
																	<td valign="top" width="20"><input type="radio" name="radio01" value="2" onKeyUp="aktualisieren(this.value);" ></td>
																	<td><font face="Arial">bla.</font></td>
																</tr>
																<tr>
																	<td valign="top" width="20"><input type="radio" name="radio01" value="3" onKeyUp="aktualisieren(this.value);" ></td>
																	<td><font face="Arial">dobblblubb.</font></td>
																</tr>
																<tr>
																	<td valign="top" width="20"></td>
																	<td><input type="submit" id="submit" name="submit" disabled="disabled"></td>
																</tr>
															</table>
														</form>

Im Head ist dazu folgendes untergebracht:
HTML:
		<script type="text/javascript">
		<!--
		function aktualisieren(wert) 
		{
		if(wert.onKlick)
		{
		document.getElementById("submit").disabled=false;
		} else{
		document.getElementById("submit").disabled=true;
		}
		}
		//-->
		</script>

Ziel ist,
dass die Absende-Schaltfläche erst dann anklickbar ist,
wenn der User eine der Radio-Schaltflächen ausgewählt hat.

Was mache ich falsch?
Danke, Claudi
 
Zuletzt bearbeitet:
Probier mal Folgendes:
HTML:
onchange="document.getElementById('submit').disabled = this.checked"
Alternativ könntest du auch einfach prüfen, ob bereits eins ausgewählt wurde:
Code:
var form = document.getElementsByName("frage")[0];
form.onsubmit = function() {
	var inputElements = form.getElementsByTagName("input");
	for(var i=0; i<inputElements.length; i++) {
		if( inputElements[i].type != "radio" || inputElements[i].name != "radio01" ) {
			continue;
		}
		if( inputElements[i].checked == true ) {
			return true;
		}
	}
	return false;
}
 
Habe ich versucht...
Klappt leider nicht?!

Also: Das aus dem "HEAD" raus
und den <form>-Code ersetzen durch:

HTML:
<form method="post" action="02.php" name="frage">
															<table width="100%" border="0" cellspacing="0" cellpadding="0">
																<tr>
																	<td valign="top" width="20"><input type="radio" name="radio01" value="1" onchange="document.getElementById("submit").disabled = this.checked"></td>
																	<td><font face="Arial">Ich dfawsd.</font></td>
																</tr>
																<tr>
																	<td valign="top" width="20"><input type="radio" name="radio01" value="2" onchange="document.getElementById("submit").disabled = this.checked"></td>
																	<td><font face="Arial">sefaesf.</font></td>
																</tr>
																<tr>
																	<td valign="top" width="20"><input type="radio" name="radio01" value="3" onchange="document.getElementById("submit").disabled = this.checked"></td>
																	<td><font face="Arial">Ich fwaesf.</font></td>
																</tr>
																<tr>
																	<td valign="top" width="20"></td>
																	<td><input type="submit" id="submit" name="submit" disabled="disabled"></td>
																</tr>
															</table>
														</form>
ODER?
 
Auch falsch.
HTML:
onchange="document.getElementById('submit').disabled = !this.checked"
Möglicherweise funktioniert es so aber nur beim letzten Element.
 
Ich habe mich daran jetzt auch mal veruscht. Dabei hat sich ergeben, das die radiobutton kein onchange-Attribut besitzen oder es in diem Beispiel nicht funktioniert (Warum auch immer). Verusche es mal mit onclick und
Javascript:
document.getElementById('submit').disabled = !this.checked;

Da wird dann bei jedem Klick auf so einen Button der Submit Button aktiviert.
 
Zuletzt bearbeitet:
SUPER!!
Das klappt jetzt!

onclick="document.getElementById('submit').disabled = !this.checked; "


Vielen Dank
- closed -
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Zurück