Javascript返回false - 来自函数

时间:2009-08-28 15:39:10

标签: javascript validation forms return-value

有没有办法做到以下几点:

validateLogin();
return false;

但实际上就是这样..

validateLogin();

这是功能:

function validateLogin(){
if(hi=true){
return true;
}
else{
return false
}

我想为提交表单的事件附加此函数,因此如果HI为false - 我想返回false;这意味着它将停止表单提交..我知道返回false;我会这样做,我只需要知道如何将这个返回到父函数?

提前致谢!

7 个答案:

答案 0 :(得分:6)

您可以按照以下方式使用它:

return validateLogin();

然而,正如mmayo指出的那样,不要忘记返回值:

event.returnValue = false;

答案 1 :(得分:3)

我使用以下内容来阻止事件...

event.returnValue = false;

cresentfresh鼓励我做一些研究...... here is an article和兼容性矩阵。

还有related threads on SO

答案 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)

validateLogin()函数

function validateLogin() {
    return hi;
}

HTML块

<form onsubmit="return validateLogin()">
  ...
</form>