2017-08-16 1 views
0

j'ai eu un champ de saisie et un boutoncontrôle direct entrée

<input required id="solution" name="solution" type="text" placeholder=""class="form-control input-md"> 
<button style="background-color:#da251d;" id="sendForm" name="sendForm" class="btn btn-success">Send</button> 

Maintenant, je veux vérifier le champ d'entrée pour une valeur, lorsque la valeur est incorrecte, le bouton doit être diponibles, je l'essaye avec js comme ça

$(document).ready(function(){ 
     $(“#solution”).keyup(function(){ 
      if($(this).val() == ‘value’) { 
       $(‘#sendForm’).attr(‘disabled’,‘disabled); 
      } 
      else { 
       $(‘#sendForm’).removeattr(‘disabled’); 
      } 
     }); 
}); 

Mais cela ne fonctionne pas, pouvez-vous m'aider pls?

+0

utilisation 'removeAttr()' 'pas removeattr'! –

+2

Savez-vous que votre code source utilise 'jQuery' et vous demandera de charger la bibliothèque' jQuery' dans votre page? Aucun 'jQuery' étiqueté avec votre question n'était donc pas sûr si vous étiez au courant. En outre, ouvrez votre console de navigateur et vérifiez les erreurs. Si vous voyez quelque chose comme '$' n'est pas défini, il y a de fortes chances que vous n'ayez pas chargé dans la bibliothèque. – NewToJS

+0

Et pour les _quotes_, utilisez '' '' ou '" "', pas ''' '. –

Répondre

0

Facile un!

Le code ne fonctionne pas puisque vous utilisez des guillemets (») mais ce que vous devez utiliser sont les marques de cordes (" ou ') Le code de travail:.

$(document).ready(function(){ 
    $("#solution").keyup(function(){ 
     if($(this).val() == 'value') { 
      $('#sendForm').attr('disabled', 'disabled'); 
     } 
     else { 
      $('#sendForm').removeAttr('disabled'); 
     } 
    }); 
}); 

Jsbin

0

je pense que vous avez fait l'erreur de faute de frappe sur .removeAttr

 $(document).ready(function(){ 
     $("#solution").keyup(function(){ 
      if($(this).val() == "value") { 
       $("#sendForm").attr("disabled","disabled"); 
      } 
      else { 
       $("#sendForm").removeAttr("disabled"); 
      } 
     }); 
    }); 
0

Vous devriez essayer d'utiliser l'événement "change" ou "input". Il ressemblerait à

$('#solution').on('change', function(){ 
    // validation & toggle button state 
}) 

Pour plus documentations événement: change

+0

Mais en faisant les changements que vous avez suggéré ne va pas résoudre le problème est-il ... donc ce n'est pas une solution ou de répondre pourquoi le code source actuel ne fonctionne pas comme prévu. – NewToJS

0

Hey cela fonctionne bien,

$("#solution").keyup(function(){ 
     if($(this).val() == 'value') { 
      $('#sendForm').attr('disabled',false); 
     } 
     else { 
      $('#sendForm').attr('disabled',true); 
     } 
    }); 

Vous pouvez utiliser attr méthode de fixation propriété disabled comme vrai ou faux que selon votre besoin.

demo