jQuery提交表单

40

如何使用以下代码提交特定的表单(例如,我的表单id为#form1)。

$(".nextbutton").click(function() { submit; });
7个回答

60

试一下这个: 假设你的表单ID是formID。

$(".nextbutton").click(function() { $("form#formID").submit(); });

21
“form#formID”有点多余了,使用“#formID”就足够了,对吧? - Andy Groff
18
是的,仅ID就足够了。但是在标记名称之前添加它可以加快查找元素的速度。如果添加它,只有在找到正确的ID之前才会评估<form>元素。尽管大多数网页没有太多HTML而导致搜索延迟,但是如果您知道标记名称,将其放在前面仍然是更好的做法。 - Flater
根据这里的文档http://api.jquery.com/submit/ 这将在表单上添加一个提交监听器,而不是实际提交它。 submit函数在jQuery对象和DOM元素上并不相同。 - challet
2
@challet,你提供的文档中确实列出了submit的无参形式,它是.trigger('submit')的快捷方式,可以提交表单。 - Russell Silva
你是对的,怪我了 :) - challet
显示剩余2条评论

8

您可以尝试以下方法:

   $("#myformid").submit(function(){
        //perform anythng
   });

甚至你可以尝试像这样:
$(".nextbutton").click(function() { 
    $('#form1').submit();
});

2
根据 http://api.jquery.com/submit/ ,这只会添加一个事件监听器。 - challet
@challet:根据您链接页面下面的示例,它确实提交了表单。 - Stefan

2
你不需要完全使用jQuery来实现平滑效果。可以按照以下方式实现:
$(".nextbutton").click(function() { 
   document.forms["form1"].submit();
});

58
有趣,因为您在回答中使用了jQuery,而又说不需要jQuery? - Claudiu
8
我猜他指的是提交表单的部分 :) - msanjay
1
不起作用。显示“submit不是一个函数”。 - JoshuaDavid
1
这是正确的,但如果你有jQuery作为选择DOM元素的工具,最好保持一致。否则你会引入冗余。 - Rimian
1
我指的是提交表单的部分。 - Alex B.
显示剩余2条评论

2

由于jQuery对象继承自数组,该数组包含所选的DOM元素。假设您使用了一个id,因此该元素在DOM中应该是唯一的,您可以通过以下方式直接调用submit

$(".nextbutton").click(function() { 
  $("#formID")[0].submit();
});

1
如果您的页面中只有一个表单,请使用此代码。您不需要知道表单的ID或名称。我刚刚使用了这个代码 - 它可以正常工作:
document.forms[0].submit();

1
使用以下 jQuery 提交一个没有提交按钮的选择框。如上所示,使用 "change" 而不是 "click"。
$("selectbox").change(function() { 
   document.forms["form"].submit();
});

干杯!


0

尝试这个:

$('#form1').submit();

或者

document.form1.submit();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接