0

http://info.cfgt.com.au/diploma-of-management/sq1/でこのスクリプトを使用しています

<script type="text/javascript">

jQuery(document).ready(function() {
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;
}
}
});

jQuery(document).ready(function() {
jQuery('form').submit(function() {
    var sEmail = jQuery('#inf_field_Email').val();

    if (validateEmail(sEmail)) {
        alert('Email is valid');
        e.preventDefault();
    }
    else {
        alert('Invalid Email Address');
        e.preventDefault();
    }
});
});
</script>

何をしても、フォームが送信され、デフォルトの infusionsoft エラー ページにリダイレクトされます。

私は一生、自分が何を見逃したかを理解することはできません.7時間目です.

何か案は?

乾杯、

ジョン・デトレフス

編集:

私は現在、以下を使用しています。

<script>
jQuery(document).ready(function() {
jQuery('form').submit(function() {
email_address = jQuery('#inf_field_Email');           
email_regex = /^[a-z0-9\._]*[a-z0-9_]@[a-z0-9][a-z0-9\-\.]*[a-z0-9]\.[a-z]{2,6}$/i;
if(!email_regex.test(email_address.val())){
alert('Please enter a valid email');
return false;
}else{
alert('All Good!');
return true;
}
});
});
</script>

私が今持っている唯一の問題は、anything@anything を受け入れ、「.domain」をまったく必要としないように見えることです。

4

2 に答える 2

2

複数のjQuery(document).ready(function()ブロックがある場合、あるブロックで定義された関数を別のブロックから呼び出すことはできません。複数の $(document).ready(function(){ ... }); を使用できますかを参照してください。セクション?

したがって、それらを 1 つの大きな関数に結合してみて、それが解決するかどうかを確認してください。

また、jQuery Validate プラグインの使用を検討しましたか?

于 2012-09-03T07:11:44.820 に答える
0

あなたのページをチェックしました。ページにエラーはほとんどありません。

まず、jQueryが見つかりません。

http://info.cfgt.com.au/wp-content/plugins/jquery.validity.1.2.0/jquery.js"

そのため、$を関数として認識していません。したがって、$(function())はエラーになります。

メール部分について

正規表現をに変更します

var filter = /^[a-z0-9\._]*[a-z0-9_]@[a-z0-9][a-z0-9\-\.]*[a-z0-9]\.[a-z]{2,6}$/i;
于 2012-09-03T07:03:15.457 に答える