jQuery: обработчик не определен? - PullRequest
0 голосов
/ 02 августа 2011

Я супер нуб, когда доходит до javascipt, почему не работает click ()? Этот код передает данные формы в скрипт php и загружает ответ в div. Вы можете увидеть это действие здесь: http://shorelinerenovations.com

jQuery(document).ready(function(){
   var ajax_load = "<img class='loading' src='http://shorelinerenovations.com/wp-content/themes/Narm/images/load.gif' alt='loading...' />";
   var loadUrl = "http://shorelinerenovations.com/wp-content/themes/Narm/optin.php";
   jQuery('form#optin-form input#frm_submit').click(function(){
       jQuery("#submit-result").html(ajax_load);
       jQuery.post(
           loadUrl,
           jQuery("#optin-form").serialize(),
           function(responseText){
               jQuery("#submit-result").html(responseText);
           },
           "html"
        );
   });
});

Ответы [ 2 ]

3 голосов
/ 02 августа 2011

Необходимо запретить действие по умолчанию , которое отправляет форму:

jQuery('#optin-form').submit(function(event){
    event.preventDefault();
    // other stuff
});

Только то, что вы делаете запрос Ajax, не означает, что браузер не будет отправлятьсформируйте «нормальный» путь.

Лучше назначить обработчик события для события submit формы.Пользователи могут отправить форму, не нажимая кнопку.

1 голос
/ 02 августа 2011

Jilseego, когда Firebug отображает ошибку, рядом со значком Firebug должен быть красный крестик. Нажмите на него, и это приведет вас к тому, где именно ошибка в вашем коде.

Возможно, страница перезагружается, поскольку в случае ошибки JavaScript скрипт вообще не выполняется браузером.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...