<html>
<head><script type="text/javascript">
function pa(){
var fname = document.getElementById('fname').value;
var lname = document.getElementById('lname').value;
var email = document.getElementById('email').value;
if(fname==""||lname==""||email=="")
alert("Please, Compelete the form...");}
</script>
</head> <body>
<form onsubmit="pa()">
E-mail Address*<input id="email" value="" name="email" type="text">
First Name*<input id="fname" value="" name="fname" type="text">
Last Name*<input id="lname" value="" name="lname" type="text">
<input type="submit" value="Register">
</form>
</body>
</html>
嗨,上面是我的代码导致了一些问题。但是,当我按下提交按钮并且表单不完整时,它会显示一个警告框,显示“请填写表格......”。
按“确定”后,刷新填充的数据。我想保留填充的数据。我不知道这个问题。如果表格未完整提交,我希望我的数据能够保留。
请帮我解决这个问题
答案 0 :(得分:3)
我认为您必须阻止转发提交事件。试试:
if (fname==""|| ...) {
alert('...');
return false;
}
此致
parascus
答案 1 :(得分:2)
您需要将return false;
添加到onsubmit
功能中。问题是onsubmit函数在页面发布表单之前运行。此函数可以返回true
或false
布尔值,指示是否重新发布页面。在您的情况下,您也没有返回,因此页面“提交”并重新发布并且所有用户数据都已消失。
例如:
<form onsubmit="return pa();">
...
</form>
在pa函数中:
function pa() {
...
if( some conditional ) {
return true;
} else {
return false;
}
}
希望这有帮助。
答案 2 :(得分:0)
而不是<form onsubmit="pa()">
使用<form onsubmit=" return pa()">
。在您发布警报后,您的代码将返回false。这应该可以解决您的问题
答案 3 :(得分:0)
这是帮助你的方法。
1.将jQuery与您的信息页联系起来。 2.在表单元素上放置一个ID选择器,如下所示......
<form id="myform">
3.然后将以下脚本代码添加到您的页面
$(function() {
$('#myform').submit(function () {
pa();
return false;
});
});