2013-07-19 3 views
2

Пожалуйста, не могли бы вы мне помочь? У меня есть код javascript, который работает отлично, проверка подлинности электронной почты работает нормально, но когда посетитель набирает там адрес электронной почты и нажимает кнопку регистрации, вы подтверждаете сообщение «Вы будете узнавайте о последних событиях! " не отображается.JavaScript/Php нет ответа после отправки по электронной почте кнопку

$(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-\.][email protected]([\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); 
    } 
    }); 
}); 

ответ

0

У вас есть только обработчик с успехом. Здесь нужен обработчик ошибок. Похоже, ваш вызов AJAX на самом деле проходит, но возвращается как ошибка, и вызов $.ajax не имеет возможности сообщить об этом. Read down to 'error' здесь, чтобы посмотреть, как должен выглядеть обработчик ошибок. Вы также должны установить точку останова в начале вашего успеха и обработчики ошибок, чтобы убедиться, что вызывается хотя бы один из них.

+0

не могли бы вы дать мне код –

+0

Также я все еще изучаю кодирование, не могли бы вы дать мне код и куда он должен идти? –

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. :('); 
     } 

    }); 

Edit: Вы должны добавить «» после близко функции успеха.

+0

это, кажется, приносит ошибку –

+0

Добавить запятую после успешной функции .. может быть, что деталь – Hernandcb

+0

Куда я могу положить это, поскольку он все еще не работает? –

Смежные вопросы