Desidero inviare un modulo POST che contenga un campo textarea e un campo (i) di input (type = "checkbox" con un numero arbitrario/variabile di checkbox) sul mio sito web tramite jQuery's .ajax(). PHP riceve i dati textarea e la risposta ajax viene visualizzata correttamente all'utente. Tuttavia, sembra che PHP non stia ricevendo i dati della casella di controllo (è stato controllato o meno). Come posso farlo funzionare? Ecco il codice che ho:Invia più dati casella di controllo a PHP tramite jQuery ajax()
Il codice 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>
Il 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;
});
});
Ora, il 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);
Tutto funziona alla grande: quando la forma è inviato un nuovo record viene memorizzato nel mio database, la risposta viene restituita alla pagina Web, ma i dati della casella di controllo non vengono inviati. Voglio sapere quali, se ce ne sono, delle caselle di controllo sono state controllate. Ho letto di .serialize(), JSON, ecc., Ma nessuno ha funzionato. Devo serializzare/JSON in jQuery e PHP? Come? Un metodo è migliore di un altro quando si inviano i dati del modulo con le checkbox? Sono stato bloccato su questo per 2 giorni. Qualsiasi aiuto sarebbe molto apprezzato. Grazie in anticipo!
è necessario non preoccuparsi di elementi del modulo provare questo http://stackoverflow.com/questions/19029703/jquery -using-ajax-to-send-data-and-save-in-php/19029778 # 19029778 – rohitcopyright