【问题标题】:How can I make a good validation?如何进行良好的验证?
【发布时间】:2021-04-28 09:54:13
【问题描述】:

我在验证方面遇到了一些问题。即使验证为假,表单仍在发送。问题出在哪里?

function ValidateForm(form){
  ErrorText= "";
  if ( ( form.memory[0].checked == false ) && ( form.memory[1].checked == false )  && ( form.memory[2].checked == false ) ){
     alert ( "Please choose size of RAM memory" );
     return false;
  }
  if (ErrorText= "") { form.submit() }
  return false;
} 

<button type="submit" form="form" class="submit-button" onClick="ValidateForm(this.form)">Dodaj do koszyka</button>

【问题讨论】:

  • 您没有传递函数调用的返回值,这是通过 HTML 属性附加的这种“老式”事件处理所必需的。 onClick="return ValidateForm(this.form)"

标签: javascript forms validation


【解决方案1】:

type="submit" 按钮的默认行为是提交表单,要停止此操作,您需要返回 false。你的方法在做什么,但你的 onClick 处理程序忽略了

<button type="submit" form="form" class="submit-button" onClick="return ValidateForm(this.form)">Dodaj do koszyka</button>
------------------------------------------------------------------^^^^

另外,不需要在你的方法中调用form.submit(),如果你只是return true,就会发生这种情况。所以改变

if (ErrorText= "") { form.submit() }

if (ErrorText == "") { return true; }

注意:您缺少双等于 == 而不是 =

【讨论】:

  • 那么,我该如何解决呢?当我输入 onsubmit="return false" 时,在每种情况下都是错误的,是吗?
  • @BrainRails 如图所示,在onClick 属性中添加return
猜你喜欢
  • 2020-04-02
  • 2011-09-22
  • 1970-01-01
  • 2019-10-17
  • 1970-01-01
  • 1970-01-01
  • 2018-06-26
  • 1970-01-01
  • 2022-06-30
相关资源
最近更新 更多