Javascript 表单提交预防技术不起作用
我试图完成的事情我已经做过好几次了,但似乎有些不同。这是我第一个使用laravel的项目,我正在构建的是非常基本的。尽管如此,我认为这仅仅是一个HTML/JS问题,但是我觉得我应该把它说出来,因为我很生气 我想要的行为 用户进入输入字段,按enter键,而不是提交表单,表单被阻止运行(因此我可以使用ajax,但是ajax还不是这个等式的一部分) 我尝试过的 这是HTMLJavascript 表单提交预防技术不起作用,javascript,jquery,ajax,forms,laravel,Javascript,Jquery,Ajax,Forms,Laravel,我试图完成的事情我已经做过好几次了,但似乎有些不同。这是我第一个使用laravel的项目,我正在构建的是非常基本的。尽管如此,我认为这仅仅是一个HTML/JS问题,但是我觉得我应该把它说出来,因为我很生气 我想要的行为 用户进入输入字段,按enter键,而不是提交表单,表单被阻止运行(因此我可以使用ajax,但是ajax还不是这个等式的一部分) 我尝试过的 这是HTML <form action="test" method="POST"> <input type="text
<form action="test" method="POST">
<input type="text" id="text_input" class="form-control" autocomplete="off" />
<input type="submit" id="submit_input" class="btn btn-success" />
</form>
我尝试过使用preventDefault,它允许运行警报,但会在警报之后运行任何代码
$(document).ready( function() {
$('form').submit(function (e) {
e.preventDefault();
alert();
$('#text_input').val() = '';
$('#text_input').focus();
});
});
我不想要的解决方案
我知道我可以在关注字段的同时获得按钮提交或回车键的输入,并且不使用html表单就可以获得这种行为,但是,我想知道是什么原因导致这种行为不起作用
JSFiddle
我的JSFIDLE有问题,所以我无法用它来演示。我以前没有在JSFIDLE上使用过表单,我得到了错误{“error”:“请使用POST请求”},但我不知道为什么,因为我在表单中指定了POST
其他信息
使用Laravel5,使用WAMP,在Chrome上加载jQuery2.1,在我的控制台中没有错误。请帮助。您以错误的方式使用了val()。您应该这样称呼它:$('#text_input').val('some text')代码>
更新:
您应该使用代码的第二个变体(与e.preventDefault()
)您使用的val()
是错误的。您应该这样称呼它:$('#text_input').val('some text')代码>
更新:
您应该使用代码的第二个变体(与e.preventDefault()
)您使用的val()
是错误的。您应该这样称呼它:$('#text_input').val('some text')代码>
更新:
您应该使用代码的第二个变体(与e.preventDefault()
)您使用的val()
是错误的。您应该这样称呼它:$('#text_input').val('some text')代码>
更新:
您应该使用代码的第二个变体(带有e.preventDefault()
)这是一个注释,而不是答案。如果它解决了问题,那就是答案。不是每个答案都需要很长。这是一个答案,因为这正是问题的根源!我很惊讶Chrome Inspect控制台没有显示错误。我想这在技术上是有效的。我也将使用第二种变体,因为我知道这是最佳实践。感谢您快速而正确的回答。@JaredSmith问题是“允许警报运行,但在警报运行后确实运行了任何代码。”这是因为代码错误。奇怪的是,您没有收到“无效左手分配”错误。但我很高兴你的问题解决了。请不要忘记接受答案:)这是评论,不是答案。如果它解决了问题,那就是答案。不是每个答案都需要很长。这是一个答案,因为这正是问题的根源!我很惊讶Chrome Inspect控制台没有显示错误。我想这在技术上是有效的。我也将使用第二种变体,因为我知道这是最佳实践。感谢您快速而正确的回答。@JaredSmith问题是“允许警报运行,但在警报运行后确实运行了任何代码。”这是因为代码错误。奇怪的是,您没有收到“无效左手分配”错误。但我很高兴你的问题解决了。请不要忘记接受答案:)这是评论,不是答案。如果它解决了问题,那就是答案。不是每个答案都需要很长。这是一个答案,因为这正是问题的根源!我很惊讶Chrome Inspect控制台没有显示错误。我想这在技术上是有效的。我也将使用第二种变体,因为我知道这是最佳实践。感谢您快速而正确的回答。@JaredSmith问题是“允许警报运行,但在警报运行后确实运行了任何代码。”这是因为代码错误。奇怪的是,您没有收到“无效左手分配”错误。但我很高兴你的问题解决了。请不要忘记接受答案:)这是评论,不是答案。如果它解决了问题,那就是答案。不是每个答案都需要很长。这是一个答案,因为这正是问题的根源!我很惊讶Chrome Inspect控制台没有显示错误。我想这在技术上是有效的。我也将使用第二种变体,因为我知道这是最佳实践。感谢您快速而正确的回答。@JaredSmith问题是“允许警报运行,但在警报运行后确实运行了任何代码。”这是因为代码错误。奇怪的是,您没有收到“无效左手分配”错误。但我很高兴你的问题解决了。请不要忘记接受答案:)
$(document).ready( function() {
$('form').submit(function (e) {
e.preventDefault();
alert();
$('#text_input').val() = '';
$('#text_input').focus();
});
});