我想以ajax的形式发送所有输入。我有这样的形式。
<form action="target.php" method="post" > <input type="text" name="lname" /> <input type="text" name="fname" /> <input type="buttom" name ="send" onclick="return f(this.form ,this.form.fname ,this.form.lname) " > </form>
在.js文件中,我们有以下代码:
function f (form ,fname ,lname ){ att=form.attr("action") ; $.post(att ,{fname : fname , lname :lname}).done(function(data){ alert(data); }); return true;
但这不起作用。我不想使用Form数据。
只要我们要发送具有名称属性的所有表单输入字段,就可以对所有表单执行此操作,而与字段名称无关:
第一个解决方案
function submitForm(form){ var url = form.attr("action"); var formData = {}; $(form).find("input[name]").each(function (index, node) { formData[node.name] = node.value; }); $.post(url, formData).done(function (data) { alert(data); }); }
第二个解决方案 :在此解决方案中,您可以创建一个输入值数组:
function submitForm(form){ var url = form.attr("action"); var formData = $(form).serializeArray(); $.post(url, formData).done(function (data) { alert(data); }); }