如何使用Jquery发布/提交表单?

0 javascript jquery post

这个答案和我可能正在使用反模式的事实我认为我应该将ajax调用改为行为,如提交表单.我发现$ .post但这似乎在做ajax并且不会改变我所在的页面.

如何使用jquery或普通JS提交表单?

Sam*_*son 9

它就像$.submit()在表单上调用方法一样简单:

$("#formID").submit(); // jQuery
document.getElementById("formID").submit(); // Javascript
Run Code Online (Sandbox Code Playgroud)

或者,如果您仅使用name属性:

$("form[name='formName']").submit(); // jQuery
document.formName.submit(); // Javascript
Run Code Online (Sandbox Code Playgroud)

如果您只对提交数据后重定向页面感兴趣,可以通过回调来执行此操作$.post():

$.post("process.php", { 'foo':$(".bar").val() }, function(result) {
  window.location = "thanks.php";
});
Run Code Online (Sandbox Code Playgroud)

更新:

提问者在下面的评论中指出,实际上没有任何形式.我建议创建一个:

var myForm = $("<form>")
               .attr({'method':'post','action':'process.php'})
               .appendTo("<body>");
Run Code Online (Sandbox Code Playgroud)

然后添加您的数据:

$("<input>")
  .attr({'type':'hidden','name':'firstname'})
  .val("Jonathan")
  .appendTo(myForm);
Run Code Online (Sandbox Code Playgroud)

后来,当你准备好了,提交它:

$(myForm).submit();
Run Code Online (Sandbox Code Playgroud)