有没有办法做到以下几点:
validateLogin();
return false;
但实际上就是这样..
validateLogin();
这是功能:
function validateLogin(){
if(hi=true){
return true;
}
else{
return false
}
我想为提交表单的事件附加此函数,因此如果HI为false - 我想返回false;这意味着它将停止表单提交..我知道返回false;我会这样做,我只需要知道如何将这个返回到父函数?
提前致谢!
答案 0 :(得分:6)
您可以按照以下方式使用它:
return validateLogin();
然而,正如mmayo指出的那样,不要忘记返回值:
event.returnValue = false;
答案 1 :(得分:3)
答案 2 :(得分:3)
你最终可以这样做:
return validateLogin();
请注意,您的功能代码有一些错误(可能是因为您发布此问题的代码的简化?)。你最好这样写这个方法:
function validateLogin(){
...
return hi;
}
另请注意,如果if (hi=true) {
出现问题,您必须写if (hi == true) {
或更好if (hi) {
...
答案 3 :(得分:2)
return validateLogin();
这应该做你想要的。
答案 4 :(得分:2)
停止事件默认操作的标准方法是:
event. preventDefault();
您可能还希望使用event.stopPropgation()阻止事件传播;阻止进一步的事件监听器执行。
http://www.w3.org/TR/2001/WD-DOM-Level-3-Events-20010823/events.html#Events-Event
但是,IE无法识别这就是为什么你可以将IE的event.returnValue设置为false。
例如:
if (event && event.preventDefault) event.preventDefault();
event.returnValue = false;
您还可以在事件处理程序中为HTML中内联的事件返回false。
<form onsubmit="return validateLogin()">
然而,这不是最佳做法。
注意:事件对象作为事件侦听器中的第一个参数传入。
例如:
function validateLogin(e) {
e; // is the event object
}
对于IE,您可能需要window.event。
function validateLogin(e) {
e = e || window.event; // is the event object
}
答案 5 :(得分:0)
尝试double ==(IF I == 5)
答案 6 :(得分:0)
function validateLogin() {
return hi;
}
<form onsubmit="return validateLogin()">
...
</form>