2012-01-27 6 views
1

Я пытаюсь вызвать функцию JQuery по нажатию кнопки в форме и вот код, я используюВызов запроса 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 странице)

Edit: Просто вставили код функции 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> 
+0

Связано с: http://stackoverflow.com/questions/5411198/on-click-with-button-in-jquery –

ответ

2

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

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

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

значение [..] Значение атрибута. Котировки являются обязательными.

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

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

+0

также может потребоваться вернуть true/false в зависимости от того, как вы собираетесь обрабатывать поведение по умолчанию обработчика onsubmit – thescientist

+0

Я попытался использовать это, но безрезультатно, код был $ (# submit_button) .submit (function() –

+0

Вы имеете в виду '$ ('# submit_button')'? –

0

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

<script type="text/javascript"> 

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

</script> 
+0

, спасибо, я попробовал, но он просто обновляет страницу –

+0

. Ваша цель - отправить форму этим кнопка ввода? – jeff

+0

Я только что обновил вопрос, чтобы показать, что я на самом деле пытаюсь сделать, я пытаюсь вызвать функцию ajax в jquery, которая будет отправлять данные формы в форму рассылки php. Форма рассылки работает хорошо ... только эта функция который заводит меня орехами –

0

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

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