OnSubmit javascript只对错误条目工作一次,不重复返回表单,但提交第二次输入错误值?

时间:2011-07-11 11:48:12

标签: javascript javascript-events

我是编程的新手,可以用一些帮助找不到任何线索,回答这个问题。已经检查过Firefox 5.0中的javascript。

设置我目前有一个带有一个javascript检查功能的HTML页面,用于测试开发。它链接到tomcat中的servlet。

问题是当我第一次输入错误时,收到警告信息并返回HTML原始页面。

但是,如果我点击输入字段并再次输入错误。它提交表格,不提醒或返回原始表格?

有没有人得到解决方案,或者这是验证应该如何运作。

代码是:

<HTML><head><title>Creation of POs</title>
<H1>Purchase Order</h1>
<script type="text/javaScript">
function check() {
check = document.forms[0].SLine1.value;
if(check=="wrong"){
alert("enter correct info");
return false;
} else {
return true; }
}
</script></head><body bgcolour="yellow">
<form method="GET" action="Distest_session30a_vs1" onSubmit="return 
check()">
various inputboxes and messages
<table>
<tr><td><input type="text" name="SLine1"></td></tr>
various other lines of inputs boxes
</table>
<Input type="submit" value="Send now">
</form></body></html>

2 个答案:

答案 0 :(得分:0)

如果您不希望在表单上提交表单,可以使用onsubmit="javascript:your_validation_function()"。只有在your_validation_function()返回true时才会提交表单。

编辑 _一起查看HTML和js代码,我发现了您的问题。这个js代码应该可以工作:

function check(){ 
  var check = document.forms[0].SLine1.value; 
  if(check=="wrong"){ 
    alert("enter correct info"); 
    return false; 
  } 
  else{ 
    return true; 
  } 
} 

您的问题是您忘记在函数内正确声明check var。如果要使用变量,则需要使用 var

答案 1 :(得分:0)

这是你想要做的吗?。

          <script type="text/javascript">

              function check() {
                                    check = document.forms[0].SLine1.value;
                                    if(check=="wrong")
                                     { 
                                       alert("enter correct info"); 
                                        return false;
                                     } 
                                     else if("right")
                                     {
                                       alert("right");
                                       return true; 
                                     }

                                } 
           </script>

          <form onsubmit="check()">
            <input type="text" id="SLine1">
                <input  type="submit">
         </form>