[RESOLU] Récupérer la valeur d'un input type button

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Récupérer la valeur d'un input type button

Re: Récupérer la valeur d'un input type button

par lucieemtl » 27 janv. 2016, 11:02

Et bien je peux te dire que ça peut fonctionner ainsi :

index.php :

Code : Tout sélectionner

<style> <?php include 'css/dashboardFormulaire.css'; ?> </style> <script> function chercher_elements(n) { var liste = document.getElementsByTagName('input'), nbre = liste.length, cherche=n+'-', lg=cherche.length, trouve = [], index, element, zz; for (index = 0; index < nbre; index ++) { element = liste[index].id; if (n!='tout') { if (element.substring(0,lg)==cherche) trouve.push(element); } else { if (element.substring(0,1)>='0' && element.substring(0,1)<='9') trouve.push(element); } } return trouve; } function selectionner(z,chk){ var dossiers = chercher_elements(z); var nbre = dossiers.length; for (var i = 0; i < nbre; i++) { document.getElementById(dossiers[i]).checked=chk; } } </script> <?php function scanRecursiveDir($path = '../', $level , $levelprec) { if(substr_count($levelprec, '-') != 0) return; $numdossier = 1; // Répertoires à ignorer $ignore = array('.', '..','public_html'); // Répertoire à ouvrir $dh = @opendir($path); // Boucler dans le répertoire : while(false !== ($file = readdir($dh))) { //Si ce fichier ne doit pas être ignoré alors... if(!in_array( $file, $ignore)) { // On effectue un espace pour une meilleure vue... $spaces = str_repeat('&nbsp;', ($level * 5)); // Et on ne montre que les sous-répertoires ! if(is_dir("$path/$file")) { //On place dans une variable les droits de chaque répertoires que l'on appelera à chaque fois $perms = substr(sprintf('%o', fileperms($path)), -3); // On appelle à nouveau cette fonction dans les nouveaux répertoires de façon à ce que ce soit récursif. $idcourant = "$levelprec".(strlen($levelprec)?'-' : '')."$numdossier"; echo" <li id=\"lucie_arborescence\">" .$spaces."\r\n". "<input type=\"checkbox\" name=\"checkboxDossierPath[]\" id=\"$idcourant\" onclick = \"selectionner('$idcourant',this.checked);\" value=\"$path\"/> \r\n"."<a href=$path/$file> $file</a> <div class=\"securitywp_droit\">($perms)</div></li>"; scanRecursiveDir("$path/$file", ($level+1),"$levelprec".(strlen($levelprec)?'-' : '')."$numdossier"); $numdossier++; } } } //On n'oublie pas de fermer le répertoire racine closedir($dh); } ?> <div id="securitywp_explorateur"> <header id="securitywp_header"> <input type="checkbox" name="toutCocher" id="checkall" onclick = "selectionner('tout',this.checked);" /> Tout sélectionner </header> <div id="securitywp_container_id"> <div id="securitywp_result_ajax"></div> <?php echo '<form id="securitywp_form" name="form" action="../wp-content/plugins/SecurityWP/traitement.php" methode="POST"><ul>'; scanRecursiveDir('../', 0, ''); ?> <div id="securitywp_chmodButtons"> Choisir une sécurité : <br/> <input type="button" name="button01" id="button001" class="class_buttons" value="0600" onclick="this.form.choice.value=this.value;"/> <input type="button" name="button02" id="button002" class="class_buttons" value="0755" onclick="this.form.choice.value=this.value;"/> <input type="button" name="button03" id="button003" class="class_buttons" value="0705" onclick="this.form.choice.value=this.value;"/> </div> <div id="securitywp_footer"> Retirer la sécurité : <br/> <input type="button" name="button04" id="securitywp_noSecurity" class="class_buttons" value="0777" name="securitywp_noSecurity" onclick="this.form.choice.value=this.value;"/> <input type="hidden" name="choice" id="choice"/> </div> <?php echo '</ul></form>'; ?> </div> </div> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script> $(document).ready(function() { $("#securitywp_form").submit(function(e) { var postData = $(this).serializeArray(); var formURL = $(this).attr("action"); $.ajax( { url : formURL, type: "POST", data : postData, success:function(data, textStatus, jqXHR) { function include(file) { var oScript = document.createElement("script"); oScript.src = file; document.body.appendChild(oScript); $("#securitywp_result_ajax").html(data); $("#securitywp_result_ajax").css({"display":"block"}); } include("../wp-content/plugins/SecurityWP/traitement.php"); }, error: function(jqXHR, textStatus, errorThrown) { $("#securitywp_result_ajax").html("Attention"); } }); e.preventDefault(); //STOP default action }); $("#securitywp_noSecurity").click(function() { $("#securitywp_form").submit(); }); $("#button001").click(function() { $("#securitywp_form").submit(); }); $("#button002").click(function() { $("#securitywp_form").submit(); }); $("#button003").click(function() { $("#securitywp_form").submit(); }); }); </script>
traitement.php :

Code : Tout sélectionner

<?php if(isset($_POST['checkboxDossierPath'])) { $valeurNumerique = $_POST['choice']; echo $valeurNumerique; foreach($_POST['checkboxDossierPath'] as $valeur) { echo "La checkbox $valeur a été cochée<br>"; } } else { echo 'Veuillez tout d\'abord sélectionner les dossiers auxquels modifier les attributs.'; } ?>

Re: Récupérer la valeur d'un input type button

par or 1 » 26 janv. 2016, 18:47

seuls les :
<input type="radio">
vont être transmis comme données du formulaire.
il faut donc changer les 3 boutons, et plutôt mettre un <input type="submit"> pour le bouton qui sert à valider.

Récupérer la valeur d'un input type button

par lucieemtl » 26 janv. 2016, 17:31

Bonjour à tous et à toutes

Voilà je rencontre des problèmes avec mon code, je ne parviens pas à récupérer la valeur de mon bouton. Quelqu'un pourrait-il m'aider s'il vous plaît ?

index.php

Code : Tout sélectionner

<style> <?php include 'css/dashboardFormulaire.css'; ?> </style> <script> function chercher_elements(n) { var liste = document.getElementsByTagName('input'), nbre = liste.length, cherche=n+'-', lg=cherche.length, trouve = [], index, element, zz; for (index = 0; index < nbre; index ++) { element = liste[index].id; if (n!='tout') { if (element.substring(0,lg)==cherche) trouve.push(element); } else { if (element.substring(0,1)>='0' && element.substring(0,1)<='9') trouve.push(element); } } return trouve; } function selectionner(z,chk){ var dossiers = chercher_elements(z); var nbre = dossiers.length; for (var i = 0; i < nbre; i++) { document.getElementById(dossiers[i]).checked=chk; } } </script> <?php function scanRecursiveDir($path = '../', $level , $levelprec) { if(substr_count($levelprec, '-') != 0) return; $numdossier = 1; // Répertoires à ignorer $ignore = array('.', '..','public_html'); // Répertoire à ouvrir $dh = @opendir($path); // Boucler dans le répertoire : while(false !== ($file = readdir($dh))) { //Si ce fichier ne doit pas être ignoré alors... if(!in_array( $file, $ignore)) { // On effectue un espace pour une meilleure vue... $spaces = str_repeat('&nbsp;', ($level * 5)); // Et on ne montre que les sous-répertoires ! if(is_dir("$path/$file")) { //On place dans une variable les droits de chaque répertoires que l'on appelera à chaque fois $perms = substr(sprintf('%o', fileperms($path)), -3); // On appelle à nouveau cette fonction dans les nouveaux répertoires de façon à ce que ce soit récursif. $idcourant = "$levelprec".(strlen($levelprec)?'-' : '')."$numdossier"; echo" <li id=\"lucie_arborescence\">" .$spaces."\r\n". "<input type=\"checkbox\" name=\"checkboxDossierPath[]\" id=\"$idcourant\" onclick = \"selectionner('$idcourant',this.checked);\" value=\"$path\"/> \r\n"."<a href=$path/$file> $file</a> <div class=\"securitywp_droit\">($perms)</div></li>"; scanRecursiveDir("$path/$file", ($level+1),"$levelprec".(strlen($levelprec)?'-' : '')."$numdossier"); $numdossier++; } } } //On n'oublie pas de fermer le répertoire racine closedir($dh); } ?> <div id="securitywp_explorateur"> <header id="securitywp_header"> <input type="checkbox" name="toutCocher" id="checkall" onclick = "selectionner('tout',this.checked);" /> Tout sélectionner </header> <div id="securitywp_container_id"> <div id="securitywp_result_ajax"></div> <?php echo '<form id="securitywp_form" name="form" action="../wp-content/plugins/SecurityWP/traitement.php" methode="POST"><ul>'; scanRecursiveDir('../', 0, ''); ?> <div id="securitywp_chmodButtons"> Choisir une sécurité : <br/> <input type="button" name="button01" id="button001" class="class_buttons" value="700"/> <input type="button" name="button02" id="button002" class="class_buttons" value="755"/> <input type="button" name="button03" id="button003" class="class_buttons" value="705"/> </div> <div id="securitywp_footer"> Retirer la sécurité : <br/> <input type="button" name="button04" id="securitywp_noSecurity" class="class_buttons" value="777" name="securitywp_noSecurity"/> </div> <?php echo '</ul></form>'; ?> </div> </div> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script> $(document).ready(function() { $("#securitywp_form").submit(function(e) { var postData = $(this).serializeArray(); var formURL = $(this).attr("action"); $.ajax( { url : formURL, type: "POST", data : postData, success:function(data, textStatus, jqXHR) { function include(file) { var oScript = document.createElement("script"); oScript.src = file; document.body.appendChild(oScript); $("#securitywp_result_ajax").html(data); $("#securitywp_result_ajax").css({"display":"block"}); } include("../wp-content/plugins/SecurityWP/traitement.php"); }, error: function(jqXHR, textStatus, errorThrown) { $("#securitywp_result_ajax").html("Attention"); } }); e.preventDefault(); //STOP default action }); $("#securitywp_noSecurity").click(function() { $("#securitywp_form").submit(); }); }); </script>
traitement.php

Code : Tout sélectionner

<?php if(isset($_POST['checkboxDossierPath'])) { echo $_POST['button03']; foreach($_POST['checkboxDossierPath'] as $valeur) { echo "La checkbox $valeur a été cochée<br>"; } echo '</div>'; } else { echo 'Veuillez tout d\'abord sélectionner les dossiers auxquels modifier les attributs.'; } ?>