如何在提交不完整的表单后保留填充的数据?

时间:2013-04-16 13:11:52

标签: javascript html ajax

<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>

嗨,上面是我的代码导致了一些问题。但是,当我按下提交按钮并且表单不完整时,它会显示一个警告框,显示“请填写表格......”。

按“确定”后,刷新填充的数据。我想保留填充的数据。我不知道这个问题。如果表格未完整提交,我希望我的数据能够保留。

请帮我解决这个问题

4 个答案:

答案 0 :(得分:3)

我认为您必须阻止转发提交事件。试试:

if (fname==""|| ...) {
   alert('...');
   return false;
}

此致

parascus

答案 1 :(得分:2)

您需要将return false;添加到onsubmit功能中。问题是onsubmit函数在页面发布表单之前运行。此函数可以返回truefalse布尔值,指示是否重新发布页面。在您的情况下,您也没有返回,因此页面“提交”并重新发布并且所有用户数据都已消失。

例如:

<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;
  });
 });