我有一个表单和表单验证代码。对于第三种形式,当文本字段为空并单击提交按钮时,会显示一个警告框,提示缺少的字段是否正确。但是,当我点击确定该提醒框时,它会消失,当前页面将重定向到另一个页面(这是不好的)。警报框消失后,它必须保留在该页面上。只有这种情况发生在第三种形式,而不是前两种形式。下面是代码:警报框重定向到另一页
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?当您在警告框上单击确定。 – Iansen 2014-09-13 16:11:45
是@lansen它确实在DB中保存一个空记录! – ABJ 2014-09-13 16:26:36