这是我的javascript文件的摘录:
$(function() {
if ($('form#search').length > 0) {
setSearchForm();
}
});
function setSearchForm() {
var text=$('form#search input[type=text]');
if (text.val().length != 0) {
text.next('input[type=submit]').removeProp('disabled');
} else {
text.next('input[type=submit]').prop('disabled', true);
}
}
我的问题是:我的所有子页面都使用此.js
文件,但并非所有子页面都有search
表格。
因此,在准备好文档时,我会检查是否存在搜索表单,然后仅在存在搜索表单时才调用setSearchForm()
。
我发现这是阻止setSearchForm()
在每个页面上运行的唯一方法。因为如果没有搜索表单并且函数无论如何都被触发,我的js
文件中的其他函数都不再有效。
是否有更优雅的解决方案,例如通过以某种方式重写函数?
我对jQuery很新,所以解决方案可能很简单!
感谢您的帮助。
答案 0 :(得分:1)
将这两个函数放在一个单独的.js文件中,并仅在具有搜索表单的页面上导入它。