0

ここを参照してください:http://jsfiddle.net/zYcJm/

jQueryは各フィールドを検証して、テキストが含まれているかどうか、および電子メールが有効かどうかを確認する必要があります。だが:

  • メッセージ(id = message)の検証は機能していないようです。メッセージボックスに何も入力せずに[送信]をクリックしてもエラーは発生しませんが、発生するはずです。
  • 無効な入力を入力して[送信]をクリックし、入力を変更して有効にすると、[送信]ボタンはクリックできなくなります。

私のコードの問題はどこにありますか?

4

2 に答える 2

1

あなたはあなたの中に空白を残しますtextarea

<textarea name="message" placeholder="your message here" id="message" class="message"> </textarea>

これを修正してみてください。問題は解決するはずです。

于 2012-06-12T11:55:13.033 に答える
0
// JavaScript Document
$(document).ready(function() {

    $('#contactForm #submit').click(function() {
        // Fade in the progress bar
        $('#contactForm #formProgress').hide();
        $('#contactForm #formProgress').html('<img src="http://dl.dropbox.com/u/16640285/ajax-loader.gif" /> Sending&hellip;');
        $('#contactForm #formProgress').fadeIn();

        // Disable the submit button
        $('#contactForm #submit').attr("disabled", "disabled");

        // Clear and hide any error messages
        $('#contactForm .formError').html('');

        // Set temaprary variables for the script
        var isFocus = 0;
        var isError = 0;

        // Get the data from the form
        //    var name=$('#contactForm #name').val();
        var email = $('#contactForm #email').val();
        //    var subject=$('#contactForm #subject').val();
        var message = $('message').val();

        // Validate the data
        //    if(name=='') {
        //    $('#contactForm #errorName').html('This is a required field.');
        //        $('#contactForm #name').focus();
        //        isFocus=1;
        //        isError=1;
        //    }
        if (email == '') {

            $('#contactForm #errorEmail').html('Please enter your email address.');
            if (isFocus == 0) {
                $('#contactForm #email').focus();
                isFocus = 1;
            }
            isError = 1;
        } else {
            var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
            if (reg.test(email) == false) {
                $('#contactForm #errorEmail').html('Please enter a valid email address.');
                if (isFocus == 0) {
                    $('#contactForm #email').focus();
                    isFocus = 1;
                }
                isError = 1;
            }
        }

        if (message ==  null || message == '') {

            $('#contactForm #errorMessage').html('This is a required field.');
            if (isFocus == 0) {
                $('#contactForm #message').focus();
                isFocus = 1;
            }
            isError = 1;
        }

        // Terminate the script if an error is found
        if (isError == 1) {
            $('#contactForm #formProgress').html('');
            $('#contactForm #formProgress').hide();

            // Activate the submit button
            $('#contactForm #submit').attr("disabled", "");

            return false;
        }

        $.ajaxSetup({
            cache: false
        });

        var dataString = //'name='+ name + '&
        'email=' + email + //'&subject=' + subject + 
        '&message=' + message;
        $.ajax({
            type: "POST",
            url: "http://dl.dropbox.com/u/16640285/submit-form-ajax.php",
            data: dataString,
            success: function(msg) {

                //alert(msg);
                // Check to see if the mail was successfully sent
                if (msg == 'Mail sent') {
                    // Update the progress bar
                    $('#contactForm #formProgress').html('<img src="http://dl.dropbox.com/u/16640285/ajax-complete.gif" /> Message sent.').delay(2000).fadeOut(400);

                    // Clear the subject field and message textbox
                    //    $('#contactForm #subject').val('');
                    $('#contactForm #message').val('');
                } else {
                    $('#contactForm #formProgress').html('');
                    alert('There was an error sending your email. Please try again.');
                }

                // Activate the submit button
                $('#contactForm #submit').attr("disabled", "");
            },
            error: function(ob, errStr) {
                $('#contactForm #formProgress').html('');
                alert('There was an error sending your email. Please try again.');

                // Activate the submit button
                $('#contactForm #submit').attr("disabled", "");
            }
        });

        return false;
    });
});​

これを貼り付けて、budyyyyyyyy を確認してください

于 2012-06-12T11:53:44.597 に答える