Вызов jquery-запроса при нажатии кнопки - PullRequest
1 голос
/ 27 января 2012

Я пытаюсь вызвать функцию jquery при нажатии кнопки в форме, и вот код, который я использую

Код кнопки:

  <input type="submit"  src="images/submitbutton.png" alt="Submit button" name="submit_button" class="submit_button" id="submit_button">

Форма начального кода

 <form method="post" action="" id="contactForm">

Код JQuery

<script type="text/javascript">
$(document).ready(function() {

    //if submit button is clicked
    $('input[name=submit_button]').submit(function () {     


alert("testing")

.....

Я пытался сделать все, чтобы кнопка отправки вызывала функцию jquery, но безрезультатно (я пытался использовать submit () или click ()).

Что я могу делать не так (эта форма расположена на html-странице)

Редактировать: только что вставил код функции Jquery, которую я пытаюсь запустить, я на самом деле пытаюсь вызвать скрипт php с помощью ajax, а затем скрыть форму и предоставить сообщение об успешном завершении, если форма успешно отправлена ​​

$(document).ready(function() {

    //if submit button is clicked
    $('#submit_button').submit(function () {        

            alert("testing")    /*get the email value*/

var name = $('input[name=name]');
        var email = $('input[name=email]');
        var subject= $('input[name=subject]');
        var message = $('textarea[name=message]');


 data = 'name=' + name.val() + '&email=' + email.val() + '&subject=' + 
        subject.val() + '&message='  + encodeURIComponent(message.val());


        //disabled all the text fields
        $('.text').attr('disabled','true');



        //start the ajax
        $.ajax({
            //this is the php file that processes the data and send mail
            url: "mai.php", 

            //GET method is used
            type: "POST",

            //pass the data         
            data: data,     



            //success
            success: function () {              

                    $('.contact_form').fadeOut('slow');                 

                    //show the success message
                    $('.simple-sucess').fadeIn('slow');

                //if process.php returned 0/false (send mail failed)
                } 



        });

        //cancel the submit button default behaviours
        return false;
    }); 
}); 
</script> 

Ответы [ 3 ]

2 голосов
/ 27 января 2012

Ну, имя должно быть в кавычках:

$('input[name="submit_button"]')

http://api.jquery.com/attribute-equals-selector/

значение [..] Значение атрибута. Цитаты обязательны.

Возможно, вы все равно должны использовать ID.

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

0 голосов
/ 27 января 2012

Почему бы вам не попробовать использовать кнопку типа вместо отправки? Вы можете добавить возвращаемое значение true в конец вашего скрипта, если хотите обновить страницу после нажатия кнопки. =) * * Тысяча одна

0 голосов
/ 27 января 2012

Вы пробовали этот код:

<script type="text/javascript">

    $(document).ready(function() {
        //if submit button is clicked
        $('#submit_button').submit(function () {     
         alert("testing");
        });
     });

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