2010-03-10 12 views
9

que estoy tratando de lograr un efecto similar al 37signals' ta-da lista - Quiero que mis usuarios puedan comprobar items de una lista simplemente marcando un 'hecho' cuadro - en otras palabras, se envía un formulario al servidor al marcar la casilla. ¿Alguien sabe de un tutorial que cubre algo como esto, o podría apuntarme en la dirección correcta?Envíe el formulario cuando se marca la casilla de verificación - tutorial

Gracias Rob

Respuesta

4

Si entiendo bien su pregunta:

Se podría lograr esto usando jQuery y AJAX. En el primer ejemplo lo estoy haciendo sin enviar todo el formulario, y sólo presentar el valor de la casilla de verificación:

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 
      } 
     } 
    }); 
}); 

Es de suponer que tendríamos algo en el lado del servidor que maneja el cargo.

Si realmente qué quiere enviar un formulario, puede hacer lo mismo que el anterior, excepto que le serializar los datos del formulario:

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()">
Lo anterior se envíe el formulario cuando se hace clic en la casilla ... idk, si eso es lo que quieres.
lo que va a hacer el formulario predeterminado proceso de presentar ...

+0

Pero que lo llevará fuera de la página. Creo que quiere quedarse en la misma página (que lo hará, si quiere marcar las casillas de verificación de uno en uno). –

+1

"una forma se envía al servidor de marcar la casilla" =/i asumí que quería decir 'form.submit()' – Warty

15

su simple ...

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

Justo lo que estaba buscando. –

+1

yo elegimos este método también - puede que no sea tan elegante como el enfoque AJAX pero significa que mi código seguirá funcionando para las personas con JavaScript desactivado y no hay posibilidades de añadir una nueva vulnerabilidad de seguridad en el servidor en el código AJAX esta llamando. –

Cuestiones relacionadas