2011-03-24 2 views
0

Je veux que lorsqu'un utilisateur coche ma case, il n'apparaîtra plus. Mais mon script est en cours d'exécution, donc lorsque le script est exécuté une deuxième fois, il n'est pas affiché même si l'utilisateur n'a pas coché ma case. Toutes mes pages arrivent par ajax.getChecked() == true ne fonctionne pas

if (!in_array('checked', $_SESSION["questy"])) 
     { 
      ?> 
<div id="fifty" style="width:150px; height:25px; float:right" > 
<input class="bigcheck" type="checkbox" id="cb" onclick="hiding()"/> 
<span style="color:#FFF;font-size:20px;font-family:Arial, Helvetica, sans-serif;font-weight:lighter;">50/50</span> 
</div> 
<?php }?> 
function hiding(){ 

document.getElementById('<?php echo $ran1;?>').setStyle({"display":"none"}); 
document.getElementById('<?php echo $ran2;?>').setStyle({"display":"none"}); 
document.getElementById('fifty').setStyle({"display":"none"}); 
var c=document.getElementById('cb').getChecked(); 
alert(c); 


if(document.getElementById('cb').getChecked()== true) 
{ 

<?php 
$_SESSION["questy"][] = 'checked'; 
?> 
} 

} 
+0

Fonction fnShowProps (obj) { var result = ""; pour (var i dans obj) résultat + = i + "=" + obj [i] + "\ n"; alerte (résultat); } Essayez fnShowProps (document.getElementById ('cb')). Peut être cela vous aide à résoudre votre problème. –

Répondre

0

Vous mélangez le côté serveur PHP et le côté client Javascript. Cela ne peut jamais marcher. Tous PHP est exécuté avant que la page ne soit envoyée au navigateur.

Ce que vous devez faire est d'utiliser Ajax pour soumettre la situation modifiée au serveur afin qu'il puisse la traiter côté serveur dans une nouvelle page; ou le traiter (côté serveur) après l'envoi du formulaire.

+0

lorsque cela sera exécuté si (document.getElementById ('cb'). GetChecked() == true) { } –

Questions connexes