vidzo Posté 5 Août 2009 Posté 5 Août 2009 (modifié) Bonjour, Je souhaite changer la valeur d'une variable lorsque je clique sur un bouton. C'est sans doute très simple, mais je coince... J'utilise l'évènement onclick. Mon code: $class='hidden'; echo "<input type=\"submit\" onclick=\"$class='visible';\" value=\"Afficher SC\" /> <br/>"; $class vaut initialement 'hidden', et je souhaite que si on clique sur le bouton, la variable passe à visible. Malheureusement, $class garde la valeur hidden même apres le clic. J'ai bien le droit de mettre du code directement dans le onclick, je ne suis pas obligé d'appeler une fonction, si? Le probleme vient sans doute du fait que $class est une varable php (coté serveur) et que le onclick travail coté client. Est il quand même possible de réaliser cette affectation? Peut etre en utilisant XMLHttpRequest? Modifié 5 Août 2009 par vidzo
vidzo Posté 5 Août 2009 Auteur Posté 5 Août 2009 J'ai essayé de travailler avec XMLHttpRequest, mais je n'ai pas de resultat. Sans doute une erreur dans ma fonction : function affecterclass(){ creerRequete(); var url = 'visujs.php'; /* Envoi de la requête à la page de traitement */ requete.open('POST', url, true); /* On surveille le changement d'état de la requête qui va passer successivement de 1 à 4 */ requete.onreadystatechange = function() { /* Lorsque l'état est à 4 */ if(requete.readyState == 4) { /* Si on a un statut à 200 */ if(requete.status == 200) { var classjs = 'visible'; } } }; requete.send(varclass='+classjs');} Et le code du bouton sur lequel j'applique le onclick (visujs.php) $class='hidden'; ?> <input id="clic" type="submit" onclick="affecterclass();" value=">>>Afficher le mapping complet" /> <br/> <?php $class= $_POST['varclass']; Lorsque je fais un echo du $_POST['varclass'], le resultat est vide. Ce language n'est vraiment pas intuitif pour moi, je fais mon maximum pour comprendre, mais je suis (trop) rapidement dépassé...
Portekoi Posté 5 Août 2009 Posté 5 Août 2009 Bonjour, Tu confonds 2 choses essentielles concernant la programmation Web : les langages dit "Côté Serveur" et les langages dit "Côté Client" Le PHP est un langage côté serveur. Tu ne peux donc pas changer la valeur d'une variable de cette manière. Pour toi, le mieux serait de commencer par le début à savoir : http://www.webmaster-hub.com/publication/M...mme-en-PHP.html http://www.siteduzero.com/ Pour ton problème, un peu de javascript (langage côté client) fera l'affaire. Bon courage, on a tous débuter un jour Portekoi
vidzo Posté 5 Août 2009 Auteur Posté 5 Août 2009 Pas besoin d'utiliser XMLHttpRequest finalement? J'étais completement à côté de la plaque dans ce que je proposais dans mon précédent post?
Portekoi Posté 5 Août 2009 Posté 5 Août 2009 XMLHttpRequest te sert dans le cadre de l'Ajax mais là, s'il s'agit seulement de changer la valeur d'un champ, tu peux le faire en javascript Du genre : <a href="#" OnClick="document.getElementById('monchp').value ='';">Ouaip</a> Puis : <input type="submit" value="1234" id="monchp" />
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant