Javascript 函数范围-定义的jquery函数在html表单(jquery)中不起作用
我试图在HTML表单上调用jquery函数。它不工作,我想检查“键”字段长度不应小于10。但是看起来,函数checkError根本没有被调用Javascript 函数范围-定义的jquery函数在html表单(jquery)中不起作用,javascript,jquery,Javascript,Jquery,我试图在HTML表单上调用jquery函数。它不工作,我想检查“键”字段长度不应小于10。但是看起来,函数checkError根本没有被调用 <form action="/search" method="get" onsubmit="if (document.getElementById('key').value.length < 10) checkError();"> 此处的完整代码:问题是在调用return false之前提交了表单。如果使用onsubmit内联,则
<form action="/search" method="get" onsubmit="if (document.getElementById('key').value.length < 10) checkError();">
此处的完整代码:问题是在调用return false之前提交了表单。如果使用onsubmit内联,则必须使用false;因此,它不会提交表单您没有真正正确地执行此操作。您说您试图在HTML代码中调用jquery函数,但实际上您正在执行if条件,然后可能会调用函数 如果您将所有处理移到一个javascript函数中,这样做会更好,而且干扰更少。如果您使用的是jQuery,请查看设置
submit()
事件函数,然后在那里进行处理。在此函数中返回true
,然后提交表单,返回false
将停止表单处理
这也可能会以这样一种方式格式化东西,使调试任何种类的bug变得更容易
例如:
jQuery:
$(document).ready(function() {
$("#formID").submit(function() {
//do some processing, call other functions, whatever
if(error)
return false;
else
return true;
});
});
<form action="/search" method="get" id="formID">
HTML:
$(document).ready(function() {
$("#formID").submit(function() {
//do some processing, call other functions, whatever
if(error)
return false;
else
return true;
});
});
<form action="/search" method="get" id="formID">
很抱歉,我不能写我的答案,因为“它不起作用”(看看这是怎么一个有点太含糊而无法做任何事情的?)谢谢,但它不起作用,我把它放到了jsfiddle to@EmmetB上,这可能是因为您使用的jsfiddle完全错误。存在多个无效语法的实例,您甚至没有加载jquery库,就目前而言,这个答案很好。是的,这解决了所有代达罗斯,谢谢。我忘了加载JSFIDLE,但在我的开发环境中它被加载了。因此,mdub的观点是正确的,而且有效,尽管Jace的答案也有效。