在我的htm页面中,我想使用一个按钮,通过使用函数提交我的表单。我在我的字段上使用验证,当我按下提交按钮时,它显示错误消息,但不保留最后一个值,它刷新我的表单。我只是希望我输入的值将存在于那里,只有只有错误消息的字段才会消失。所有其他领域仍然存在。 这是我的代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<!--<meta http-equiv="refresh" content="text/html; charset=iso-8859-1" />-->
<!--
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-->
<title>Phone Registration</title>
<link rel="stylesheet" type="text/css" href="file:///C|/xampp/htdocs/track/css/view.css" media="all"/>
<script type="text/javascript" src="file:///C|/xampp/htdocs/track/javascript/view.js"></script>
<script type="text/javascript" src="file:///C|/xampp/htdocs/track/javascript/external.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<script>
$(function() {
$( "#datepicker" ).datepicker();
});
</script>
</head>
<body id="main_body" >
<img id="top" src="file:///C|/xampp/htdocs/track/images/top.png" alt=""/>
<div id="form_container">
<h3>
<a href="file:///C|/xampp/htdocs/track/phonereg.php">Phone Registration</a>
<a href="file:///C|/xampp/htdocs/track/officerreg.php">Officer Registration</a>
<a href="file:///C|/xampp/htdocs/track/customerreg.php">Customer Registration</a>
<a href="file:///C|/xampp/htdocs/track/taskentry.php">Task Entry</a>
</h3>
<form name="order" id="form_532698" class="appnitro" method="post" action="" >
<div class="form_description">
<h2>Phone Registration</h2>
</div>
<ul >
<li>
<span>
<label class="description">IMEI # : </label>
<input name="imei" id="imeinum" class="element text medium" type="text" maxlength="15" value=""/>
</span>
</li>
<li>
<span>
<label class="description" >Phone Number </label>
<input name="phone" id="phnum" class="element text medium" type="text" maxlength="11" value="" onblur="validate(this)"/>
</span>
</li>
<li>
<span>
<label class="description" >From Date </label>
<input id="datepicker" name="fdate" class="element text medium" maxlength="10" value="" type="text"/>
</span>
</li>
<li>
<span>
<label class="description" for="element_4">Active </label>
<input name="r1" id="rad" class="element radio" type="radio" value="Yes" checked="checked" />
<label class="choice">Yes</label>
<input name="r1" id="rad" class="element radio" type="radio" value="No" />
<label class="choice">No</label>
</span>
</li>
<li>
<input type="button" name="save" value="Save" />
</li>
<!--
<li class="buttons">
<input type="hidden" name="form_id" value="532698" />
<input class="button_text" type="submit" name="save" value="Save" id="" />
<input class="button_text" type="reset" name="cancel" value="Cancel" />
<input class="button_text" type="submit" name="search" value="Search" id="" />
<input class="button_text" type="submit" name="up" value="Update" id="" />
<input class="button_text" type="submit" name="del" value="Delete" id="" />
</li>
-->
</ul>
</form>
</div>
<img id="bottom" src="file:///C|/xampp/htdocs/track/images/bottom.png" alt=""/>
<script type="text/javascript" language="JavaScript">
//submit form
document.order.submit();
</script>
</body>
</html>
请指导我,我该怎么做?我会感谢你的
答案 0 :(得分:0)
使用e.preventDefault();
或return false;
答案 1 :(得分:0)
检查验证是否成功 $(function())如果没有,则返回false .. else返回true ...
<script>
$(function() {
$( "#datepicker" ).datepicker();
if(!validation) {
return false;
}
return true;
});
</script>
答案 2 :(得分:0)
有两种主要方法:PHP(服务器端)和javascript(客户端)。
PHP解决方案并不干净,您需要刷新页面,检查其中的值并在每个输入中设置正确的value
(删除要删除的页面)
javascript / jQuery解决方案更简洁:代替<input type='submit' />
使用调用javascript函数的按钮,检查每个输入(如果需要服务器信息来检查它们,您可以使用Ajax)并显示错误,只设置空白的错误。
两种方式都可以,但javascript方法更容易控制/更新,而且它更加用户友好,因为它不会刷新页面。
答案 3 :(得分:0)
如果验证失败,您可以使用此代码阻止表单提交到服务器:
$("form").on("submit", function(event){
if(!isValidForm($(this)){
event.preventDefault();
}
});
假设isValidForm()方法接受表单选择器,如果表单有效则返回true,如果不是则返回false。