3

HTMLフォームでフォーム検証を実行して、ユーザーが2つのフィールドに入力したことを確認しようとしています。ここにJSFiddleをまとめました。

http://jsfiddle.net/yCqqj/

以前はうまくいきましたが、今何が起こっているのかわかりません。JSFiddleを作成してサイトから引き出し、他に競合が​​ないことを確認しましたが、コード内に何かがあることに気づきました。2つのフィールドはそれぞれname"emailaddress"と"Name"であり、それらの値を正しくチェックしているようです。基本的に、どちらかのフィールドが空白のままになっている場合は、アラート(フォームの送信ではない)を探しています。問題の追跡にご協力いただきありがとうございます。それは有り難いです。

function ValidateForm(){
    var emailID=document.MailingList.emailaddress
    var nameID=document.MailingList.Name

        if ((nameID.value==null)||(nameID.value=="")){
        alert("Please Enter your Name");
        nameID.focus();
        return false;
    }

    if ((emailID.value==null)||(emailID.value=="")){
        alert("Please Enter your Email ID");
        emailID.focus();
        return false;
    }
 }

trueが返されない場合でも、フォームは送信されます。

4

3 に答える 3

4

Head問題は、セクションでValidateFormを定義していないことです。jsfiddle.checkデモを編集しました。

于 2012-12-02T17:22:16.907 に答える
0

私は2つの問題を見ることができます:

まず、echeckとは何ですか?そのコードを取り除けば、うまくいくでしょう。次に、nameID.valueを制御した後に戻るべきではありません。これを行うと、emailID.valueの制御は行われません。

于 2012-12-02T17:37:14.240 に答える
0

Behnamの答えに便乗するのは、ValidateFormが彼が言ったようにheadセクションで定義されていないためです。しかし、これを修正する方法は次のとおりです。

jsfiddleのFrameworks&Extensionsの左上の領域で、no-wrapに設定します。次に、更新してベースとして設定し、変更を保存します。

ここに画像の説明を入力してください

于 2015-09-13T17:36:19.210 に答える