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 回答
0

您只有一个成功处理程序。您需要一个错误处理程序。看起来您的 AJAX 调用实际上正在通过,但是作为错误返回并且$.ajax调用无法报告它。在此处阅读“错误”以查看错误处理程序的外观。您还应该在成功和错误处理程序的开头设置一个断点,以确保至少调用其中一个。

于 2013-07-19T16:13:03.863 回答