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

こんにちは、上記は何らかの問題を引き起こしている私のコードです。つまり、送信ボタンを押してフォームが不完全な場合、「フォームに記入してください...」という警告ボックスが表示されます。

「OK」を押すと、入力されたデータが更新されます。入力されたデータを保持したいです。この問題についてはわかりません。フォームが不完全に送信された場合でも、データを残しておきたいです。

これで私を助けてください

4

4 に答える 4

3

submit イベントが転送されないようにする必要があると思います。試してみてください:

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

よろしく

パラスカス

于 2013-04-16T13:16:58.343 に答える
2

return false;関数に追加する必要がありますonsubmit。問題は、ページがフォームを送信する前に onsubmit 関数が実行されることです。この関数は、ページを再投稿するかどうかを示すtrueまたはfalseブール値を返すことができます。あなたの場合、あなたも戻っていないので、ページは「送信」して再投稿し、すべてのユーザーデータが失われます。

例えば:

<form onsubmit="return pa();">
...
</form>

そしてpa関数では:

function pa() {
...
    if( some conditional ) {
        return true;
    } else {
        return false;
    }
}

お役に立てれば。

于 2013-04-16T13:16:57.240 に答える
0

これがあなたを助けるためのアプローチです。

1.jQueryをページに接続します。2.フォーム要素に ID セレクターを次のように配置します...

<form id="myform">

3. 次に、次のスクリプト コードをページに追加します。

 $(function() {
 $('#myform').submit(function () {
  pa();
  return false;
  });
 });
于 2013-04-16T13:20:12.823 に答える
0

代わりに<form onsubmit="pa()">使用 <form onsubmit=" return pa()">。アラートを投稿した後、コードでfalseを返します。これで問題が解決するはずです

于 2013-04-16T13:18:28.830 に答える