【问题标题】:Alert box redirects to another page警报框重定向到另一个页面
【发布时间】:2014-09-13 15:23:54
【问题描述】:

我有一个表单和一个表单验证码。对于第三种形式,当文本字段为空并单击提交按钮时,会显示一个警告框,提示缺少字段,这很好。但是,当我在该警报框上单击“确定”时,它会消失,当前页面将重定向到另一个页面(这不好)。警报框消失后,它必须留在该页面上。只有第三种形式才会发生这种情况,而不是前两种形式。代码如下:

HTML:

<form  name="myForm3" action="kbc.jsp" method="post" onsubmit="validate_kbc()">
    <br/>MSISDN:<input type="text" name="MISDN" maxlength="11">
    <br/>SR:<input type="text" name="SR" maxlength="14">
    <br/><input type="submit" value="Submit">
    <br/><input type="reset" value="Reset">                    
</form>

JavaScript:

function validate_kbc()
    {
    var k = document.forms["myForm3"]["MISDN"].value;
    var l = document.forms["myForm3"]["SR"].value;
    if(k == "" || l == "")
    {  
          alert("Manadotry fields should not left blank");
          //        document.myForm1.MISDN.focus();
          //        document.myForm1.SR.focus();

        return false;
    }
    else if(!k.match(numbers))
    {
        alert('Please input numeric characters only in MSISDN field');  
        document.myForm3.MISDN.focus();
        return 0;
    }
    else if(!l.match(numbers))  
    {
        alert('Please input numeric characters only in SR field');  
        document.myForm3.SR.focus();
        return false;
    }
    else
        return true;    
}

JSP:

<%
    Class.forName("com.mysql.jdbc.Driver");
    Connection dbConnection =(Connection)DriverManager.getConnection( "jdbc:mysql://127.0.0.1:3306/portal" ,"root" , "123");
    Statement st = dbConnection.createStatement();
    ResultSet rs = null;
    String misdn=request.getParameter("MISDN");
    String sr=request.getParameter("SR");
    int i=st.executeUpdate("INSERT INTO kbc(MSISDN,SR) VALUES('"+misdn+"','"+sr+"')");
    out.println("Updated!!!!");

 %>

【问题讨论】:

  • 它会转到 kbc.jsp 吗?当您单击警报框上的“确定”时。
  • 是的@lansen 它确实在数据库中保存了一条空记录!

标签: javascript html forms jsp alert


【解决方案1】:

尝试onsubmit="return validate_kbc()" 并从函数中删除else = return true;。输入为假,函数将给出警告,或者没有错误输入,表单的输入将被 kbc.jsp 处理

我希望这会起作用,否则请看:http://www.w3schools.com/js/js_form_validation.asp

【讨论】:

  • 函数 validate_kbc 只需要在表单输入为假时响应。当输入为假和输入为真时,您的函数都会响应。所以尝试删除 else = return true 语句
猜你喜欢
  • 2018-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-27
相关资源
最近更新 更多