2011-08-08 31 views
0

我已经编写了一个JavaScript函数来验证表单输入并突出显示输入字段并显示任何错误消息,我已经测试过,并且所有工作正常。OnClientClick如果验证错误阻止页面提交

我已经从asp:Button标记的OnClientClick属性调用了该函数。但是,如果JavaScript函数确定存在验证错误,我想要停止提交表单。我该怎么做呢?

我是一个VB.NET新手,所以任何帮助,将不胜感激。谢谢。

ASPX

<asp:Button ID="btnSubmit" Text="Save Changes" runat="server" OnClientClick="validateEMI();" /> 

的JavaScript

function validateEMI() { 

    // a big bunch of validation checks... 

    if (errorOnForm == true) { 
     document.getElementById("message").innerHTML = errorMsg; 
     return; 
    } 
} 

回答

1
if (errorOnForm == true) { 
    document.getElementById("message").innerHTML = errorMsg; 
    return false; 
} 

返回FALSE;

编辑:和validateEMI应该onsubmit事件

+0

感谢您的快速回复被钩住。我试过'返回错误',但它仍然在错误消息出现后提交表单。 –

+1

您需要将此与“OnClientClick =”耦合返回validateEMI();“' –

+0

谢谢。 'return false'和'return validateEMI();'似乎已经做到了。 –

0

使用stopPropagation

function validateEMI(event) { 
    event.stopPropagation() 
    // a big bunch of validation checks... 

    if (errorOnForm == true) { 
     document.getElementById("message").innerHTML = errorMsg; 
     return; 
    } 
} 
+1

如果验证成功,该怎么办?如果'errorOnForm === false',我们可能只想'stopPropagation'。 –

+0

至少将'event.stopPropagation'移动到'if'块... – bensiu

+0

有人可以解释'event'参数是什么吗?谢谢。 –