如何使用jQuery .serialize()获取get参数的成功控件和不成功控件?

How can I get successful and not successful controls with jQuery .serialize() for a GET Parameter?

本文关键字:控件 成功 不成功 参数 get jQuery 何使用 serialize 获取      更新时间:2023-09-26

我完全搞砸了我的代码和应用程序逻辑,因为我忘记了.serialize()只给我表单的选中元素(复选框)。我真的需要所有元素,因为我必须以正确的顺序重新创建元素的小数组。

假设我有10个id/名称为box1到box10的复选框-现在只有复选框4和6被选中,因此输出为:

…,box4 = on& box6 =……但我还需要&box1=(无论什么只是不像"on",所以我可以不同)和其他8个框:/.

我还应该提到,我有输入类型文本字段和文本区域-所以这是一个混合的东西。我不只有复选框。

任何想法?

一个解决方案是这样做:

<?php
foreach(range(1, 10) as $h)
    echo '<input type="hidden" name="box'.$h.'" value="false" />';
?>

插入复选框之前。取代"false"。

如果复选框被选中,它的值将覆盖隐藏元素

不要使用.serialize()。遍历所有检查并自己创建查询字符串。

混合解决方案:

var query1='', query2=[];
query1=$('#myForm').serialize();
$('#myform :checkbox').not(':checked').each(function(){
    query2.push($(this).attr('name')+'=off');
});
query1+='&'+query2.join('&');

或者类似的