【问题标题】:Error in event of onSubmit when validate the empty text box验证空文本框时发生 onSubmit 错误
【发布时间】:2011-09-07 00:10:02
【问题描述】:

我正在用 html 实现一个表单,并检查表单的 onSubmit 事件上的空文本框。在我的 java 脚本代码中,我返回 false,但表单仍然提交并重定向到新的 url。 这段代码出了什么问题?

function checkBlank(form)
{
    var returnvar=true;
    if(form.driver.value=="")
    {
        alert("You can't left  text box Driver as blank.. ");
        driver.focus();
        returnvar=false;
    }       
    return returnvar
}


 <form name="form1" action="/Assignment6/DataBaseServlet"  onSubmit="return checkBlank(form1);" method="post">

【问题讨论】:

    标签: javascript javascript-events


    【解决方案1】:

    你改变了你的变量名

    returnvar
    returnval
    

    和 onsubmit 行

    return checkBlank(form1);
    

    应该使用this 而不是form1

    return checkBlank(this);
    

    还没有定义driver

    driver.focus();
    

    应该用form引用

    form.driver.focus();
    

    【讨论】:

    • 没有这种变量 returnval.itis 输入错误。它是 returnvar。
    【解决方案2】:

    你的整个功能可以是:

    function checkBlank(form) {
      return form.driver.value == "";
    }
    

    如果您不需要该消息。或者也许:

    function checkBlank(form) {
      if (!form.driver.value) {
        alert("Please enter a value in the driver field");
        return false;
      }
    }
    

    但您可能需要更强大的验证,因为这将允许一个或多个空格的字符串。

    【讨论】:

      【解决方案3】:

      嗨,这是因为动作标签。 我只是像这样更改我的代码,它工作正常。enter code here

       function checkBlank(form)
        {
      var returnval=true;
      form.action="/Assignment_8/";
      if(form.driver.value=="")
          {
          alert("You can't left  text box Driver as blank ");
      
          driver.focus();     
          returnval= false;
          }
      if(form.url.value=="")
      {
      alert("You can't left  text box url as blank ");
      form.url.focus();
      returnval= false;
      }
      if(form.username.value=="")
      {
      alert("You can't left  text box username as blank ");
      form.username.focus();
      returnval= false;
      }
      if(form.password.value=="")
      {
      alert("You can't left  text box password as blank ");
      form.password.focus();
      returnval= false;
      }
      if(form.query.value=="")
      {
      alert("You can't left  text box query as blank ");
      form.query.focus();
      returnval= false;
      }
      if(returnval){
          form.action="/Assignment_8/database.jsp";
         }
          return true;
      }
       //and form tag is..
         <form name=form1  method="post" onsubmit="return checkBlank(form1)">
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-07-30
        • 1970-01-01
        • 1970-01-01
        • 2015-11-13
        • 2012-01-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多