我已经使用serialize()函数提交了表单输入,并在php post中获得了所有数据,但只有多选下拉post数据获得重复数据和其他输入数据以正确的格式获得,如下面的ajax表单提交代码所示
$("form").submit(function(event){
event.preventDefault();
$.ajax({
cache: false,
url: hiddenUrl + 'home/edit_employee',
data: $( ":input" ).serialize(),
type: "POST",
datatype:"json",
success: function (response) {
// window.location.href = hiddenUrl + "home/listemployee";
}
});
});并在php端输出中获取post数据,如下所示
<pre>Array
(
[id] => 16
[fname] => abcdestiny
[lname] => patel
[empcode] => 44445
[schoolId] => Array
(
[0] => 2
[1] => 6
[2] => 7
[3] => 2
[4] => 6
[5] => 7
)
[school_id] =>
[tableInc_length] => 50
)这里的学校id是多选下拉post值,我只选择了3个选项,那些值是2,6,7,但重复的值同时显示在schoolId[]输出下面,为什么post在两次内得到相同的值?
发布于 2019-09-02 15:33:41
您正在传递$( ":input" ).serialize(),因此它将只接受输入值,并且您的下拉列表应该在select标记中。所以使用$('form').serialize()或$(this).serialize()而不是$( ":input" ).serialize()
https://stackoverflow.com/questions/57752525
复制相似问题