Deseo enviar un formulario POST que contenga un campo de texto y un campo de entrada (tipo = "casilla de verificación" con un número arbitrario/variable de casillas de verificación) en mi sitio web a través de jQuery's .ajax(). PHP recibe los datos de texto y la respuesta ajax se muestra correctamente al usuario. Sin embargo, parece que PHP no está recibiendo los datos de la casilla de verificación (se verificó, o no). ¿Cómo puedo hacer que esto funcione? Aquí está el código que tengo:Enviar múltiples datos de casilla de verificación a PHP a través de jQuery ajax()
El HTML:
<form method="post" action="myurl.php" id=myForm>
<textarea id="myField" type="text" name="myField"></textarea>
<input type="checkbox" name="myCheckboxes[]" id="myCheckboxes" value="someValue1" />
<input type="checkbox" name="myCheckboxes[]" id="myCheckboxes" value="someValue2" />
...(maybe some more checkboxes - dynamically generated as necessary)
<input id="submit" type="submit" name="submit" value="Submit" onclick="submitForm()" />
</form>
El jQuery:
function submitForm() {
$(document).ready(function() {
$("form#myForm").submit(function() {
var myCheckboxes = new Array();
$("input:checked").each(function() {
myCheckboxes.push($(this).val());
});
$.ajax({
type: "POST",
url: "myurl.php",
dataType: 'html',
data: { myField:$("textarea[name=myField]").val(),
myCheckboxes:myCheckboxes },
success: function(data){
$('#myResponse').html(data)
}
});
return false;
});
});
Ahora, el PHP
$myField = htmlspecialchars($_POST['myField']));
if(isset($_POST['myCheckboxes']))
{
for ($i=0; $i < count($_POST['myCheckboxes']); $i++)
{
// do some stuff, save to database, etc.
}
}
// create the response
$response = 'an HTML response';
$response = stripslashes($response);
echo($response);
Todo funciona muy bien: cuando la forma es Envié un nuevo registro que se almacena en mi base de datos, la respuesta se devuelve a la página web, pero los datos de la casilla de verificación no se envían. Quiero saber cuál, si alguna, de las casillas de verificación ha sido marcada. He leído sobre .serialize(), JSON, etc., pero ninguno ha funcionado. ¿Debo serializar/JSON en jQuery y PHP? ¿Cómo? ¿Un método es mejor que otro al enviar datos de formulario con casillas de verificación? Estuve estancado en esto por 2 días. Cualquier ayuda sería muy apreciada. Gracias de antemano!
usted no necesita preocuparse por los elementos de formulario probar esto http://stackoverflow.com/questions/19029703/jquery -using-ajax-to-send-data-and-save-in-php/19029778 # 19029778 – rohitcopyright