0

正常に動作するフォームを検証するために使用する javascript im を取得しましたが、フォームを送信する前にチェックする必要があるチェックボックスを追加する必要があります。チェックボックスの名前はhtmlの用語であり、以下のコードを使用してフォームを送信しないようにすることができました。

$(document).ready(function(){
$("#sendmail").click(function(){
    var valid = '';
    var isr = ' is required.';
    var name = $("#name").val();
    var mail = $("#mail").val();
    var subject = $("#subject").val();
    var country = $("#country").val();



            if( !$("#terms").is(":checked") ){
        valid += '<br />Please accept the terms and conditions.';
    }
    if (name.length<1) {
        valid += '<br />Name'+isr;
    }
    if (!mail.match(/^([a-z0-9._-]+@[a-z0-9._-]+\.[a-z]{2,4}$)/i)) {
        valid += '<br />A valid Email'+isr;
    }
    if (subject.length<1) {
        valid += '<br />Website Link'+isr;
    }
    if (country.length<1) {
        valid += '<br />Country'+isr;
    }
    if (valid!='') {
        $("#response").fadeIn("slow");
        $("#response").html("Error:"+valid);
                    setTimeout('$("#response").fadeOut("slow")',4000);
    }
    else {
        var datastr ='name=' + name + '&mail=' + mail + '&subject=' + subject + '&country=' + country;
        $("#response").css("display", "block");
        $("#response").html("<img src='http://infashionation.com/female/images/response.jpg'>");
        $("#response").fadeIn("slow");
        setTimeout("send('"+datastr+"')",2000);
    }
    return false;
});

問題は、ボックスがチェックされているかどうかに関係なく、送信されないことです。

しばらくの間、これに役立つ情報を探していましたが、運が悪かったので、誰かが私を助けることができるかどうかをここで尋ねようと思いました.

4

3 に答える 3

0

有効な変数の後に余分な感嘆符があるようです。JavaScriptデバッガーも使用することをお勧めします。

if (valid!='') {
于 2013-02-21T20:51:43.880 に答える
0

$(document).ready() 関数を閉じたようには見えません。sendmail のクリック機能を閉じますが、メイン機能は閉じません。コードの末尾は次のようになるはずです。}); // sendmail 関数を閉じる }); // document.ready を閉じる

これが SO にコピーされたために発生した場合は無視してください。ただし、これがコード内にある場合、ブラウザはおそらく何もせず、JavaScript に反応しないように見えます。

于 2013-02-21T21:05:59.293 に答える
0

.ready 関数の右中括弧がありません。

于 2013-02-21T21:03:43.057 に答える