jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了通过jQuery ajax()将多个复选框数据发送给PHP大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想通过jQuery的.ajax()在我的网站上提交一个包含textarea字段和输入字段(type =“checkBox”,具有任意/可变数目的复选框)的POST表单。 PHP接收到textarea数据,并且ajax响应正确显示用户。但是,似乎PHP没有收到复选框数据(是否检查)。我该如何让这个工作?这是我的代码

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>

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

现在,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);

一切都很好:当表单提交时,我的数据库中存储了一个新的记录,响应将被返回到网页,但不会发送复选框数据。我想知道哪个复选框已经被检查了,如果有的话。我已经阅读了.serialize(),JSON等,但没有一个这样工作。我必须在jQuery和PHP中序列化/ JSON吗?怎么样?使用复选框发送表单数据时,一种方法比另一种更好吗?我已经被困在这2天了。任何帮助将不胜感激。提前感谢!

解决方法

var mycheckBoxes = new Array();
$("input:checked").each(function() {
   data['mycheckBoxes[]'].push($(this).val());
});

您正在将复选框推送到错误的数组数据[‘mycheckBoxes []’]而不是mycheckBoxes.push

大佬总结

以上是大佬教程为你收集整理的通过jQuery ajax()将多个复选框数据发送给PHP全部内容,希望文章能够帮你解决通过jQuery ajax()将多个复选框数据发送给PHP所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。