在提交表格时我得到了结果..
name1=abhishekacad=test
但我需要以数组格式获取数据。
$('button[type="submit"]').on('click',function(e)
{
e.preventDefault();
var submit_value = $(this).val();
var acad_title = $("#acad_title option:selected").text();
var name_suffix = $("#name_suffix").val();
var dataString = 'name1='+ name_suffix + 'acad=' +acad_title ;
$.ajax({
type: "POST",
data: dataString,
async: false,
url: "test.php",
})
可能存在语法错误。
我是stackoverflow的新手,请忽略它,如果格式不正确,抱歉并且不知所措。
答案 0 :(得分:1)
如果你想发布表格的数据,请使用:
$('button[type="submit"]').on('click',function(e)
{
e.preventDefault();
$.ajax({
type: "POST",
data: $(this).serialize(),
async: false,
url: "test.php"
});
}
了解更多here
您必须正确设置表单字段名称,例如
<input type="text" name="name1" />
答案 1 :(得分:0)
由于缺少ambersand,您的数据字符串暂时无法正确传递。如果您不想手动传递参数值,可以利用jQuery的serialize()
方法生成如下结果:
"name1=value1&name2=value2"
这样做:
$('button[type="submit"]').on('click',function(e)
{
e.preventDefault();
var submit_value = $(this).val(),
dataString = $(this).closest('form').serialize();
$.ajax({
type: "POST",
data: dataString,
async: false,
url: "test.php"
});
}
这会收集所有输入字段值。当然,只考虑具有声明的name属性的字段。当然,您必须将输入字段名称与php等待的参数进行匹配。如果不是你的ajax呼叫将失败。
现在,如果你想传递一个数组,你可以使用serializeArray()
返回一个这样的格式:
[
{
name: "a",
value: "1"
},
{
name: "b",
value: "2"
}
]
还要考虑使用
$('form').on('submit',function(e){});
以便您的代码可以在点击提交按钮后或在按下enter
或return
键后运行。