0

我不知道我的问题是否很清楚,但基本上,我正在做的是在我的页面所在的同一个 HTML 文档中验证 javascript 代码中的表单。然后我像这样调用 onsubmit 上的方法:

<form wicket:id="editClientForm" id="edit-client-form" 
      onkeypress="return disableEnterKey(event)"  
      onsubmit="return editClientFormSubmitValidation()">

所以我有一个<input type="submit" />每次按下他onSubmit()都会调用java中的方法。那么如果javascript中的验证失败,有没有办法真正阻止它触发呢?

editClientFormSubmitValidation()

var submit = true;

if (addressNumberInput.value.length == 0) {

   showAddressNumberInputError();

   submit = false;
}

//A whole lot of verifications just like this one that will set submit to false.

return submit;

呈现形式

<form id="edit-client-form" onkeypress="return disableEnterKey(event)" onsubmit="return editClientFormSubmitValidation()" method="post" action="./page?1-1.IFormSubmitListener-editClientForm">

渲染提交

<input type="submit" id="save-client-button" name="saveClientButton">

4

2 回答 2

2

当验证失败时,从 editClientFormSubmitValidation() 函数返回 false。它应该工作

于 2012-09-05T21:22:56.333 回答
0

很可能您的内部有 JavaScript 错误editClientFormSubmitValidation。如果 JS 事件处理程序失败,则相关事件将照常执行其默认操作 - 对于form.onsubmit处理程序而言,这意味着如果验证函数有错误,将提交表单。

如果没有更多代码,我们看不到错误是什么(尽管我怀疑您可能缺少addressNumberInput变量的赋值/声明?),所以打开浏览器的 JavaScript 控制台并在那里查找错误。

于 2012-09-06T21:52:38.567 回答