2013-01-03 3 views
1

Ma question est, comment déterminer si l'utilisateur appuie sur de 'oui' ou 'non' est ici un htmlOui/Non-formulaire fancybox

<form id="delFrm" method="post"> 
    <label>Do you want delete?</label> 
    <input type="submit" name="yes" id="yes" value="yes" /> 
    <input type="submit" name="no" id="no" value="no" /> 
</form> 

et voici jquery/js

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#delFrm').submit(function(){ 
      var yes = true;//how to define it?????? 
      if(yes) { 
       //sent ajax to delete the data 
      } else { 
       //close close the form on a fancybox 
      } 
      return false; 
     }); 
    }); 
</script> 

Merci

Répondre

3

Modifiez légèrement votre balisage: depuis le bouton « non » n'a pas besoin d'effectuer un appel ajax vous pouvez simplement écrire

<form id="delFrm" method="post"> 
    <label>Do you want delete?</label> 
    <input type="submit" name="yes" id="yes" value="yes" /> 
    <button type="button" id="no">No</button> 
</form> 

et votre code js pourrait être simplifié comme

puis créer un autre gestionnaire pour le bouton « non » (qui ferme votre fancybox)

+0

+1 pour une solution koool –

+0

Et ajouter une fonction de rappel à bouton 'no' cliquez sur le gestionnaire pour fermer la fancybox –

+0

yep @roasted juste inséré comme note finale :) – fcalderan

0

vous ne avez pas besoin de changer votre code html il suffit de faire la suivant

<script type="text/javascript"> 
$(document).ready(function() { 
    var answer = ""; 
    $('input[type=submit]').click(function(e) { 
     e.preventDefault(); 
     answer = $(this).attr('name'); 
     if(asnwer == 'yes') { 
      // sent ajax to delete the data 
     } else { 
      // close close the form on a fancybox 
     } 
     return false; 
    }); 
}); 
</script> 

Il est simple comme ça ..

+0

e.preventDefault(); alert ($ (this) .attr ('nom')); montre "indéfini", qu'est ce que "ceci" et "nom"? – user1929552

+0

@ user1929552 mon mauvais corrigé le code essayer maintenant .. –

0

Try this i f vous devez appeler exécuter des instructions pour fermer le formulaire ajax:

<form id="delFrm" method="post"> 
    <label>Do you want delete?</label> 
    <input type="submit" name="yes" id="yes" value="yes" /> 
    <input type="button" name="no" id="no" value="no" /> 
</form> 

Et

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#delFrm').submit(function(){ 

      //sent ajax to delete the data 

      return false; 
     }); 
     $('#no').click(function(){ 

      //close close the form on a fancybox 

      return false; 
     }); 
    }); 
</script> 

Hope it helps :)