Desactiver un bouton disabled="disabled"

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 : Desactiver un bouton disabled="disabled"

par Akim13 » 23 juil. 2007, 19:05

Bonjour,

Ca fonctionne très merci a vous

Merci encore

par Ryle » 23 juil. 2007, 18:16

Si tu veux récupérer la valeur d'un champ il faut utiliser l'attribut .value
Par ailleurs, l'opérateur de comparaison est "==" et pas "=" ;)
// au lieu de
if (formulaire.cp1a = '') 
//essayes :
if (formulaire.cp1a.value == '') 
A noter qu'en javascript, tu peux également utiliser l'objet "this" relatif à l'objet courrant. Tu aurais ainsi dans ton formaulaire
onkeyup="greyfield(this);"  // pour passer l'objet au lieu du formulaire ou this.value pour passer directement la valeur à ta fonction
Ta fonction serait alors
function greyfield(champ) { 
if (champ.value == '') 
  ...
} 

par Akim13 » 23 juil. 2007, 17:47

Bonjour,

Voila j’ai résolu le problème, mais ça ne fonctionne que sur Firefox sur Internet explorer j’ai une erreur

Code : Tout sélectionner

Ligne : 14 Car : 1 Erreur : Cet objet ne gere pas cette propriete ou cette methode Code : 0

Code : Tout sélectionner

<form name="searchpeople" action="..." method="post"> <input type="text" size="10" name="cp1a" value="" onkeyup="greyfield(document.searchpeople);"> <input type="text" size="10" name="cp1b" value="" disabled="disabled"> </form> <script type="text/javascript"> function greyfield(formulaire) { if (formulaire.cp1a = '') formulaire.cp1b.disabled = true; else formulaire.cp1b.disabled = false; } </script>
Merci

par Genova » 23 juil. 2007, 16:31

Il y a un gros problème de logique dans ton script. Tu utilise une variable que tu créés après.

Tu dois créer la variable avant de l'utiliser.
<?PHP
if ($text1 != "") { $status = "enabled" ; } else { $status = "disabled" ;}
?>

<input type="button" id="Bouton_article" value="Ajouer" disabled="'.$status.'" />
<input type=text  size=7 name="text1" value="11" ></td>

par Ryle » 23 juil. 2007, 16:31

Si tu définies le satut de ton bouton après l'avoir utilisé, il est sur que le résultat ne risque pas de changer :)

Par ailleurs petit rappel : PHP s'exécute sur le serveur, donc avant toute intervention de l'utilisateur. Si tu veux qu'il y ait une interraction avec l'utilisateur, c'est du javascript - qui s'exécute sur le navigateur, donc côté client - qu'il te faut :)

par Akim13 » 23 juil. 2007, 16:17

Bonjour,

Au démarrage de ma page j’essaye de vérifier si le champ text1 et vide alors le bouton devient disabled sinon le bouton est enabled mais il reste toujours en disabled.

Voila ce que j’ai fait

Code : Tout sélectionner

<input type="button" id="Bouton_article" value="Ajouer" disabled="'.$status.'" /> <input type=text size=7 name="text1" value="11" ></td> <?PHP if ($text1 != "") { $status = "enabled" ; } else { $status = "disabled" ;} ?>
Merci

par Ryle » 23 juil. 2007, 14:57

En php, il suffit de ne pas mettre l'attribut ;)
<?php 
if ($disabled) 
  echo '<input type="button" id="Vider" value="Vider" disabled="disabled" />';
else
  echo '<input type="button" id="Vider" value="Vider" />';
?>
En javascript :
<script type="text/javascript">
  document.getElementById('Vider').disabled = false; // true pour l'activer
</script>

Desactiver un bouton disabled="disabled"

par Akim13 » 23 juil. 2007, 14:47

Bonjour,

Voila je sais comment désactiver un bouton, mais ce que je ne sais pas c’est comment le re-ouvrir avec une condition php.

desactiver disabled="disabled"

Code : Tout sélectionner

<input type="button" id="Vider" value="Vider" disabled="disabled" /></td>

Merci