【问题标题】:JQuery submit function dont startsJQuery提交功能不启动
【发布时间】:2017-02-22 21:03:05
【问题描述】:

我有一个小问题。我已经看过很多线程,例如:
- jquery submit function not working
- jQuery submit function not working properly
- JQuery Submit Form From Inside Submit Function

但是我的提交不起作用。我不明白为什么。 如果有人可以向我解释为什么提交按钮不起作用,我会很高兴。 我在控制台中没有看到日志提交

我的目标是:
1. 点击不是提交按钮的按钮
2.然后做一些事情
3. 然后开始提交并在那里做一些事情

<!DOCTYPE html>
<html>
<head>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
</script>
</head>
<body>
	<form method="post" action="submit.html" id="test">
		<input type="button" id="bttn" value="Submit"></input>
	</form>
</body>
</html>

<script language="javascript" type="text/javascript">
$(function() {
	$( 'input#bttn' ).on( 'click', function() {
        
        // do something
        
		console.log('click');
 
        // start submit
		$( 'form#test' ).submit( function() {
			console.log('submit');
			return true;
			
		});
	});
});
</script>

【问题讨论】:

  • 你的方法不对。 method="post" action="submit.html"
  • 好消息@JackNicholson!
  • 您使用了错误的 jquery 提交形式。您正在做的是绑定一个事件处理程序,该处理程序将在提交事件触发时运行。如果要手动触发提交,则必须改用: $('form#test').submit()
  • 那么在我的情况下,我看不到这样做的好处,我可以在没有处理程序的情况下使用提交触发器之前做所有事情。

标签: javascript php jquery html forms


【解决方案1】:

第一个错误(没有方法和重复操作):&lt;form action="post" action="submit.html" id="test"&gt; 应该是&lt;form method="post" action="submit.html" id="test"&gt;

第二个错误:

$( 'form#test' ).submit( function() { // handler for submit event
    console.log('submit');
    return true;
});

应该是

$( 'form#test' ).submit(); // triggers submit event

然后您可以添加提交事件的处理程序,该处理程序将在提交触发器后调用:

$( 'form#test' ).submit( function() {
    console.log('submit');
});

【讨论】:

  • 我认为第一个错误是复制粘贴。所以因为第二个错误: - 所以如果我使用提交作为处理程序,那么我需要手动触发它?
  • 但是我没有看到这样做的好处?因为我可以在没有处理程序的情况下触发提交之前做所有我想做的事情......?
猜你喜欢
  • 2012-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-08
相关资源
最近更新 更多