2

以下の JavaScript コードを使用してください。すべて正常に動作します。電子メールの検証は正常に機能しますが、訪問者が電子メール アドレスを入力して [サインアップ] ボタンをクリックすると、「最新のイベントが通知されます!」という確認メッセージが表示されます。表示されません。

  $(document).ready(function(){
 //Bind JavaScript event on SignUp Button
    $('#submitbtn').click(function(){
        signUp($('#email').val());
    }); 

var signUp = function(inputEmail)
{
    var isValid = true;
    var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
    if(!emailReg.test(inputEmail)){
        isValid = false;
        alert('Your email is not in valid format');
    }
    if(isValid){
        var params = {
            'action'    : 'SignUp',
            'email'     : inputEmail
        };
        $.ajax({
            type: "POST",
            url: "scripts/mail.php",
            data: params,
            success: function(response){
                if(response){
                    var responseObj = jQuery.parseJSON(response);
                    if(responseObj.ResponseData)
                    {
                        $('#submitbtn').val('');
                        showMessage('You will be notified with our latest events!');

                    }
                }
            }
        });
    }
};

  var mousedownHappened = false;

  $("#submitbtn").mousedown(function() {
    mousedownHappened = true;
  });

  $("#email").focus(function(){
    $(this).animate({
      opacity: 1.0,
      width: '250px'
    }, 300, function(){
      // callback method empty
    });

    // display submit button
    $("#submitbtn").fadeIn(300);
  });


  $("#email").blur(function(){
    if(mousedownHappened) {
      // reset mousedown and cancel fading effect
      mousedownHappened = false;

    } else {
      $("#email").animate({
        opacity: 0.75,
        width: '250px'
      }, 500, function(){
        // callback method empty
      });

      // hide submit button
      $("#submitbtn").fadeOut(400);
    }
  });
});
4

2 に答える 2

1

@Mikeが言ったように、エラーがあったかどうかを知るために失敗ハンドラを追加する必要があります:

$.ajax({
        type: "POST",
        url: "scripts/mail.php",
        data: params,
        success: function(response){
            if(response){
                var responseObj = jQuery.parseJSON(response);
                if(responseObj.ResponseData)
                {
                    $('#submitbtn').val('');
                    showMessage('You will be notified with our latest events!');

                }
            }
        },

        error: function(response){ 
          showMessage('Sorry, there was an error saving you email. :(');
        }

    });

編集: クローズ成功関数の後に「,」を追加する必要があります。

于 2013-07-19T16:26:02.030 に答える