JavaScript 输入验证

2 投票
1 回答
2515 浏览
提问于 2025-04-16 11:34

我在使用javascript来验证我的输入框,参考了javascript-coder上的内容,但我遇到了两个问题。

第一个问题:这个脚本里的验证器是通过名字来验证对象的,我想知道能不能把它改成用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>

有什么建议吗?

1 个回答

2

来回答你的第二个问题:

如果验证失败,你需要在提交处理函数中使用 return false

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

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

这样的话,表单提交的过程就会被取消。

撰写回答