当输入电子邮件地址并单击submit按钮时,将执行alert('jquery');
,我将看到警报。,但我没有看到“提交表单”的警告,并且request.php
页面立即被服务。我做错了什么?
HTML片段:
<form class="form-signin" role="form" id="emailform" action="request.php" method="post"
name="emailform">
<input type="email" id="email" name="email" required="" /> <button name="submit"
class="btn btn-lg btn-primary btn-block" type="submit">Get New Code</button>
</form>
Jquery片段:
<script>
$(document).ready(function() {
alert('jquery'); // this alert is called properly
$("#emailform").submit(function(event) {
alert('submitting the form'); // this is not getting called on click of the submit button
event.preventDefault();
var $form = $(this),
url = $form.attr('action');
alert(url);
$.post(url, {
param1: $("#email").val()
})
.success(function(data) {
if (data == "found") {}
});
});
});
</script>
编辑:我上面使用的措辞是不正确的,因此我要修改它,这要归功于@PeterKA。
在加载页面时执行alert('jquery');
,我看到警报。但当输入电子邮件地址并单击submit按钮时,alert('submitting the form');
不会执行
发布于 2014-11-17 05:09:10
您的代码没有任何问题;只是您错误地报告了什么时候会触发警报。请参阅下面的演示中的评论。运行演示以确认您的代码按预期工作。
$(document).ready(function() {
//THIS ALERT FIRES WHEN THE PAGE LOADS
//NOT WHEN A BUTTON IS CLICKED
alert('jquery');
$("#emailform").submit(function(event) {
//THIS ALERT FIRES WHEN THE SUBMIT BUTTON IS CLICK
//OR WHEN THE SUBMIT EVENT IS TRIGGERED THROUGH SOME OTHER MEANS
alert('submitting the form');
event.preventDefault();
/*var $form = $(this),
url = $form.attr('action');
alert(url);
$.post(url, {
param1: $("#email").val()
})
.success(function(data) {
if (data == "found") {}
});*/
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form class="form-signin" role="form" id="emailform" action="request.php" method="post"
name="emailform">
<input type="email" id="email" name="email" required="" /> <button name="submit"
class="btn btn-lg btn-primary btn-block" type="submit">Get New Code</button>
</form>
发布于 2014-11-17 05:15:54
<!DOCTYPE HTML>
<html>
<title>Tester</title>
<head>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
alert('jquery'); // this alert is called properly
$("#emailform").submit(function(event) {
alert("hello this ready for submit");
return false;
});
});
</script>
</head>
<body>
<form class="form-signin" role="form" id="emailform" action="request.php" method="post"
name="emailform">
<input type="email" id="email" name="email" required="" /> <button name="submit"
class="btn btn-lg btn-primary btn-block" type="submit">Get New Code</button>
</form>
</body>
</html>
https://stackoverflow.com/questions/26965732
复制相似问题