Bonjour à tous,
Tout est dans le titre, je me demandais si il n'existerait pas une fonction PHP permettrait de tester la valeur d'une balise HTML sans envoyer de formulaire ?

7 réponses


elRingo
Réponse acceptée

Il y très peu de gens qui désactive le Js maintenant (contrairement aux années précédentes). Maintenant tous les sites sont a base de js (essentiellement jQuery, backbone, underscore, ...) donc tu ne prends pas bcp de risque en faisant la vérification en js

Nop car il faudrait un realod de la page passe donc par le javascript (ajax) ;)

Bonjour
Pour faire des tests en local d'un formulaire, il vaut mieux passer par du javascript, c'est beaucoup plus simple.
Sinon il faut faire de l'ajax avec l’exécution d'un script php à la détection de l’événement onChange de ton select.

Au fait, qu'est ce que tu veux tester dans ton select ?

SacreOl
Auteur

Le select sert à définir le nombre de groupes de champs (inputs) d'un formulaire, à afficher.
Il contient donc 4 valeurs :
<select name="nb" id="nb">
<option value="1">1</option>
<option value="3">3</option>
<option value="5">5</option>
<option value="10">10</option>
</select>
actuellement il envoie un paramètre $_GET'nb'], qui vient définir le nombre de groupes à afficher dans ma boucle

Il y a plusieurs solutions a ton problème, il faut nous donner plus d'information pour connaître la solution la plus adaptée pour vous.
En effet, il est possible de répondre a votre problème en utilisant :

  • javascript de base : détection événement onChange avec document.form.nb.value
  • javascript avec DOm : détection événement onChange avec document.getElementById(#nb)
  • en utilisant l'ajax avec un fichier php qui vérifie le champs !!!!! inutile
  • en utilisant jQuery par exemple

    <HTML>
    <HEAD>
    <TITLE>Titre de la page</TITLE>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
    $('#nb').change(function()
    {
    alert('changement de la valeur de nb ' + $(this).attr('value'));
    });
    });
    </script>
    </HEAD>
    <BODY>
    <select name="nb" id="nb">
    <option value="1">1</option>
    <option value="3">3</option>
    <option value="5">5</option>
    <option value="10">10</option>
    </select>
    </BODY>
    </HTML>

SacreOl
Auteur

Ok je te remercie beaucoup pour ce détail de toutes les possibilités. Je voulais éviter d'utiliser javascript pour prévoir le cas où l'utilisateur l'aurait désactivé. Mais je pense que je m'en passerai. Merci encore à toi.

SacreOl
Auteur

Ok, merci encore pour ton temps