我在一个网页中有多个dynamic forms
,如下所示
<form name='login' id='login_1'>
<input type='text' name='username'/>
<input type='password' name='pwd'/>
<input type='submit' name='submit' id='submit_1' value='Login'/>
</form>
<form name='login' id='login_2'>
<input type='text' name='username'/>
<input type='password' name='pwd'/>
<input type='submit' name='submit' id='submit_2' value='Login'/>
</form>
.......
.......
此处id's
是动态的,假设用户以第二种形式输入数据并提交,那么我需要将第二(仅)表单数据发送到服务器而不使用第三方jQuery plugins
,此处我无法正确选择submit button id
。
使用serializeArray();
发送数据是否安全?特别是对于登录过程?
答案 0 :(得分:5)
一种方法是附加一个函数$('form')。submit()并将你的ajax POST放到那里的服务器代码中......
$('form').submit(function(){
var thisForm = $(this);
alert(thisForm.find("input[type=submit]").attr("id"));
// perform ajax call here
// $(ajax). ---
return false;
});
答案 1 :(得分:2)
除非您的表单没有文件,否则可以将表单输入序列化。
您可以使用ajax
捕获提交事件并传递数据$("form").submit(function(){
var action = $(this).attr("action");
//You Can add an input type hidden to store form id, in case you need it at Server
$(this).append("<input type='hidden' name='id' value='"+$(this).attr("id")+"'>");
var data = $(this).serializeArray();
$.post(action,data,function(data){
//server response
console.log(data);
});
});