[PHP/JavaScript] Checkbox - onClick oder onChange?

M3Y3R

Well-known member
ID: 336361
L
8 Mai 2006
1.608
60
Hallo,

ich habe drei Checkboxen und möchte alle drei Werte bei aktualisierung einer Checkbox übergeben, doch wie? Das Problem ist, ich möchte keinen weiteren Button einbauen, dass heißt es sollte per OnClick oder OnChange realisiert werden.

Folgendes habe ich bisher:
PHP:
echo "<input type='checkbox' onClick='location.href=\'index.php?b1=this.value\'' name='b1' value='b1'>";

Wenn ich nun aber diese Checkbox anklicke, passiert nichts. Warum? Wo ist mein Fehler?
 
ich würde onchange verwenden, da onclick eventuell auch Klicks nimmt, die auf den Rahmen der box gemacht wurden.

ich habe drei Checkboxen und möchte alle drei Werte bei aktualisierung einer Checkbox übergeben

? da muss ich überlegen was du damit meinst^^


='location.href=\'index.php?b1=this.value\''

ich denke nicht dass das so geht.

wenn schon dann:

'window.location.href=\'index.php?b1=\'+this.value'

wobei ich mir nicht 100%ig sicher bin dass das so geht, ich verwende für sowas immer php.

PHP:
echo "<input type='checkbox' onClick='window.location.href=\'index.php?b1=\'+this.value' name='b1' value='".$_GET['b1']."'>";

EDIT: es geht wirklich nicht so. ich empfehle php. Ansonsten:
<script>
v=location.search.substring(1, location.search.length).split('&');
getVars = new Array();

for(var x in v){
var temp = x.split('=');
getVars[temp[0]] = temp[1];
}
document.getElementById("b1").value=getVars["b1"]; //nicht getestet.
</script>
<input type='checkbox' id="b1" onClick='window.location.href=\'index.php?b1=\'+this.value' name='b1' value=''>

EDIT2: stimmt Sebbo
EDIT3: fällt mir gerade so auf...???? wieso einer checkbox die Value austauschen?!?!?

|
v

PHP:
if($_GET['b1']=="true"){ 
  $checked="checked"; 
}else{ 
  $checked=""; 
} 
echo "<input type='checkbox' onchange=\"window.location.href='?b1='+this.checked\" name='b1' value='1' $checked>";

?>

-->getestet
Das Argument von ZeroCCC solltest du auch beachten
 
Zuletzt bearbeitet:
Damit ich das richtig verstehe:
Wenn du eine der drei Checkboxen anklickst, dann soll ein Submit erfolgen, damit du die Werte aller drei boxen im nächsten Script hast?

Es muss statt location.href glaube heißen: window.location.href.

Mit deiner Methode übergibst du natürlich nur den einen Wert, der angeklickt wurde.