我有这段代码:
<a href="javascript:$('#searchPost').submit()">Search</a>
这会提交我的搜索表单。我试图阻止它在空的时候提交。我知道内联很难做到,但是当我尝试从链接中取出JS代码时,即使内联代码调用链接之外的函数,它也会停止工作。
我被告知要使用此代码:
$('#searchPost').submit(function(event) {
if ($(this).find('#searchBox').val() == '') {
event.preventDefault();
}
});
但我不知道该把它放在哪里才能使它发挥作用。当然,内联,该代码并没有做我想要的。我完全把它放在我的文档的头部,它也没有太大变化。有什么帮助吗?
答案 0 :(得分:3)
您需要将其包裹在$(document).ready(function(){});
或$(function(){});
答案 1 :(得分:0)
if ($(this).find('#searchBox').val() == '') {
return false;
}
答案 2 :(得分:0)
答案 3 :(得分:0)
我认为你想要捕获$('#searchPost')。click()事件,而不是submit()事件。
尝试捕获$ .click(),然后检查val(),然后有条件地执行$ .submit()。
确保$('#searchPost')也存在......
答案 4 :(得分:0)
如果没有看到任何代码,我会说安全的做法是将代码放在jQuery脚本之后和表单之后。
答案 5 :(得分:0)
你应该将它包装在DOMready处理程序中,这是使用jQuery执行此操作的最简单方法:
<script>
$(function() {
$('#searchPost').submit(function(event) {
if ($(this).find('#searchBox').val() == '') {
event.preventDefault();
}
});
});
</script>