2010-03-10 7 views
9

J'essaie d'obtenir un effet similaire à celui de la liste de 37 messages - je veux que mes utilisateurs puissent cocher des éléments d'une liste en cochant une case «terminé» - en d'autres termes, un formulaire est soumis au serveur en cochant la case. Est-ce que quelqu'un sait d'un tutoriel qui couvre quelque chose comme ça, ou pourrait me diriger dans la bonne direction?Soumettre le formulaire lorsque la case est cochée - tutoriel

Merci Rob

Répondre

4

Si je comprends bien votre question:

Vous pouvez réaliser cela en utilisant jQuery et AJAX. Dans le premier exemple que je fais sans soumettre toute la forme, et que la présentation de la valeur de la case à cocher:

jQuery("#myCheckbox").click(function() { 
    var $checkbox = jQuery(this); 
    var checkboxData = "checkboxvalue=" + $checkbox.val(); 

    jQuery.ajax({ 
     url: "http://some.url.here", 
     type: "POST", 
     data: checkboxData, 
     cache: false, 
     dataType: "json", 
     success: function(data) { 
      if(data["success"]) { 
      //do some other stuff if you have to 
      //this is based on the assumption that you're sending back 
      //JSON data that has a success property defined 
      } 
     } 
    }); 
}); 

On peut supposer que vous auriez quelque chose sur le côté serveur qui gère le poste.

Si vous avez réellement ne voulez soumettre un formulaire, vous pouvez faire la même chose que ci-dessus, sauf que vous souhaitez sérialiser les données de formulaire:

jQuery("#myCheckbox").click(function() { 
    var formData = jQuery("#formID").serialize(); 

    jQuery.ajax({ 
     url: "http://some.url.here", 
     type: "POST", 
     data: formData, 
     cache: false, 
     dataType: "json", 
     success: function(data) { 
      if(data["success"]) { 
      //do some other stuff if you have to 
      //this is based on the assumption that you're sending back 
      //JSON data that has a success property defined 
      } 
     } 
    }); 
}); 
0

<input type="checkbox" onclick="yourForm.submit()">
Le ci-dessus va soumettre le formulaire quand votre case est cliquée ... idk si c'est ce que vous voulez.
Il va faire le formulaire par défaut soumettre processus ...

+0

Mais qui va l'emmener loin de la page. Je crois qu'il veut rester sur la même page (il le fera, s'il veut cocher les cases un par un). –

+1

"un formulaire est soumis au serveur en cochant la case" =/j'ai supposé qu'il voulait dire 'form.submit()' – Warty

15

est simple ...

<input type="checkbox" onclick="this.form.submit();"> 
+0

Juste ce que je cherchais. –

+1

J'ai aussi choisi cette méthode - elle n'est peut-être pas aussi simple que l'approche AJAX mais cela signifie que mon code fonctionnera pour les personnes avec JavaScript désactivé et qu'il n'y a aucune possibilité d'ajouter une nouvelle faille de sécurité sur le serveur. appelle. –

Questions connexes