【问题标题】:javascript input validationjavascript输入验证
【发布时间】:2011-02-10 15:08:58
【问题描述】:

我正在对来自javascript-coder 的输入框使用 javascript 验证,但这里有 2 个问题。

首先:脚本中的验证器使用name来验证对象,是否可以在gen_validatorv4.js中更改为id以及如何?

第二:尽管文本框产生了警报,但我的页面会自行重新加载。它应该停留在页面上并允许用户更正错误。

下面是我的脚本放置

    function submitform(){
    var frmvalidator  = new Validator("myform");
    frmvalidator.addValidation("amountperIteration","numeric","Name a price greater than $25");
    frmvalidator.addValidation("amountperIteration","gt=25","Name a price greater than $25");
    
    document.forms[0].submit();
}

我的 html 代码被简化成这样:(我的后端使用 python)

 <form action="{{ request.path }}" name="myform" method="post" enctype="multipart/form-data" onsubmit="return false">
 <input type="text" name="amountperIteration">
 <input type="submit" value="submit" onclick="submitform">
 </form>

有什么建议吗?

【问题讨论】:

  • 您应该接受您提出的一些问题。

标签: javascript python validation


【解决方案1】:

回答你的第二个问题:

如果验证失败,你想从提交处理程序return false

function submitForm() {
    var result = validate(this);

    if ( result === false ) { return false; }
}

这样表单提交过程将被取消。

【讨论】:

  • 'this' in validate() 方法验证基于什么?
  • @pivotal 如果将上述函数用作提交处理程序,则this 值将引用正在提交的 FORM 元素。但这取决于您如何设置提交处理程序 - 如果您以编程方式进行操作,例如:form.onsubmit = submitForm;,那么它应该可以工作。如果您通过 HTML 代码中的 onsubmit 属性执行此操作,那么我不太确定 - 在这种情况下,this 值可能会引用全局对象。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-17
  • 2015-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-29
相关资源
最近更新 更多