Partage
  • Partager sur Facebook
  • Partager sur Twitter

Quel événement pour mettre un disabled sur input submit ?

Sujet résolu
    2 septembre 2010 à 18:14:51

    Bonjour, j'ai un petit formulaire :

    <form method="post" action="request.php">
    			<input onclick="if(this.value=='Please type your request here ...')this.value='';" value="Please type your request here ..." name="request" size="50" type="text" /><br /><br />
    			<input type="submit" value="Send" />
    		</form>
    


    J'aimerais faire en sorte que le input submit soit disabled si le champ vaut "" ou "Please type your request here ...".

    Pour cela il me semble que le code est

    if(document.getElementByName('request').value==''||'Please type your request here ...')this.disabled='disabled';
    


    Mais je sais pas quoi mettre comme gestionnaire d'évenement dans la balise ... :/

    Merci !
    • Partager sur Facebook
    • Partager sur Twitter
      2 septembre 2010 à 18:19:44

      Merci, je vais tester.

      Que fait cet évenement ?

      Edit : Ca ne marche pas ...

      <form method="post" action="request.php">
      			<input onclick="if(this.value=='Please type your request here ...')this.value='';" value="Please type your request here ..." name="request" size="50" type="text" /><br /><br />
      			<input onChange="if(document.getElementByName('request').value==''||'Please type your request here ...')this.disabled='disabled';" type="submit" value="Send" />
      </form>
      
      • Partager sur Facebook
      • Partager sur Twitter
        2 septembre 2010 à 18:26:22

        l'évènement onChange se déclenche quand le contenu du champs change
        • Partager sur Facebook
        • Partager sur Twitter
          2 septembre 2010 à 18:30:15

          Ok, merci pour la précision.
          • Partager sur Facebook
          • Partager sur Twitter
            2 septembre 2010 à 18:36:44

            c'est pas mon code qui ne marche pas :D mais le tien.

            <html>
            <head>
               <title>validation</title>
            </head>
            <body>
               <form method="post" action="request.php">
            
            
                     <input id="champ" value="Please type your request here ..." name="request" size="50" type="text" />
                     <input id="send" type="submit" value="Send" />
            
            
               </form>
               
               <script type="text/javascript">
             
               champ = document.getElementById('champ');
               send = document.getElementById('send');
               
               send.disabled = true;
               
               champ.onclick = function(){
                     if( this.value == 'Please type your request here ...' )
                        this.value=''
               }
               champ.onchange = function(){
                     if(this.value != '' && this.value != 'Please type your request here ...')
                        send.disabled = false;
                     else{
                        send.disabled = true;
                     }
               }
               
               </script>
               
            </body>
            </html>
            



            base toi sur cette façon d'écrire le code et améliore le comme tu veux.
            • Partager sur Facebook
            • Partager sur Twitter
              3 septembre 2010 à 1:49:22

              Merci beaucoup, je testerai demain ! :)

              (Je débute en JS)
              • Partager sur Facebook
              • Partager sur Twitter
                5 septembre 2010 à 2:05:18

                J'ai essayé et ça marche plus du tout :euh:

                <head>
                		<title>Hotline to Hell</title>
                		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
                		<link rel="stylesheet" media="screen" type="text/css" title="Style" href="style.css" />
                		<link rel="icon" type="image/png" href="favicon.png" />
                		<script type="text/javascript">
                		champ = document.getElementById('champ');
                		send = document.getElementById('send');
                   
                		send.disabled = true;
                   
                		champ.onclick = function(){
                			if( this.value == 'Please type your request here ...' )
                				this.value=''
                		}
                		champ.onchange = function(){
                			if(this.value != '' && this.value != 'Please type your request here ...')
                				send.disabled = false;
                			else{
                				send.disabled = true;
                			}
                		}
                		</script>
                	</head>
                	<body>
                		<br />
                		<form method="post" action="request.php">
                			<input id="champ" value="Please type your request here ..." name="request" size="50" type="text" /><br /><br />
                			<input id="send" type="submit" value="Send" />
                		</form>
                	</body>
                
                • Partager sur Facebook
                • Partager sur Twitter
                  5 septembre 2010 à 4:37:15

                  ça merde parce que tu as placé tes getElement avant le formulaire. Enfin j'ai pas vérifié la validité du code, disons que c'est au moins une des raisons qui font que ça merde ;)

                  Si non j'aurais fait ça moi

                  <body>
                     <form method="post" action="request.php">
                        <input id="champ" value="Please type your request here ..." name="request" size="50" type="text" /><br /><br />
                        <input id="envoi" type="submit" value="Send" />
                     </form>
                     <script type="text/javascript">
                     <!--
                     var champ = document.getElementById('champ');
                  	
                     champ.onclick = function(){
                        if( this.value == 'Please type your request here ...' ){this.value='';}
                     }
                  
                     document.getElementById('envoi').onclick = function(){
                        if(champ.value == '' || champ.value == 'Please type your request here ...'){return false;}
                     }
                     //-->
                     </script>
                  </body>
                  
                  • Partager sur Facebook
                  • Partager sur Twitter
                    5 septembre 2010 à 15:51:15

                    Merci ! Tout marche niquel ! :)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      8 septembre 2010 à 23:57:25

                      fallait pas que tu touche à mon code :D mon bébé il est gentil fais lui un bisou :D
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Quel événement pour mettre un disabled sur input submit ?

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown