0

誰かが私のプロジェクトスクールを手伝ってくれることを願っています. 次のような HTML コードがあります。

<!DOCTYPE html>
<html>
    <head>
        <title>Tambah Guru</title>
        <link rel="stylesheet" type="text/css" href="stylesheet.css"/>
        <script type='text/javascript' src='script.js' charset="utf-8"></script>
    </head>
<body>

Email: <input type='text' id='txtemail' />

<input type='submit' value='Simpan' id='validateemail' />
</body>
</html>

そして、私のJavascriptコードは次のとおりです。

$(document).ready(function(e) {
    $('#validateemail').click(function() {
        var sEmail = $('#txtemail').val();
        if ($.trim(sEmail).length == 0) {
            alert('Please enter valid email address');
            e.preventDefault();
        }
        if (validateEmail(sEmail)) {
            alert('Email is valid');
        } else {
            alert('Invalid Email Address');
            e.preventDefault();
        }
    });
});

function validateEmail(sEmail) {
    var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
    if (filter.test(sEmail)) {
        return true;
    } else {
        return false;
    }
}

実行すると動作しません。どうしてか分かりません。誰でも私を助けてもらえますか?

4

2 に答える 2

6

上記のコメントのように jQuery を追加していません。この行をhtmlのスクリプト行の上に置きます

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>

そして、処理するイベント オブジェクトを渡していません。以下のコードのように、クリック ハンドラーでイベント オブジェクトを渡します。必要のない document.ready でイベント ハンドラーを渡しています。

$(document).ready(function() {
    $('#validateemail').click(function(e) {
        var sEmail = $('#txtemail').val();
        if ($.trim(sEmail).length == 0) {
            alert('Please enter valid email address');
            e.preventDefault();
        }
        if (validateEmail(sEmail)) {
            alert('Email is valid');
        }
        else {
            alert('Invalid Email Address');
            e.preventDefault();
        }
    });
});

function validateEmail(sEmail) {
    var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
    if (filter.test(sEmail)) {
        return true;
    }
    else {
        return false;
    }
}
于 2013-05-19T05:16:56.933 に答える
1

jquery.js ファイルは Javascript ライブラリであるため、インクルードする必要があります。ダウンロードして含めるか、単にスクリプトタグでこの URL を使用することができます:-

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>

これは、待ち時間の短縮、並列性の向上、キャッシュの向上など、多くの利点があるため、より適切なオプションです。

于 2013-05-19T05:22:24.630 に答える