2013-11-22 3 views
0

У меня есть простая форма обратной связи, как показано ниже, которая использует изображение в качестве кнопки отправки вместо стандартной кнопки отправки HTML. Форма появляется, но значение «data:» всегда равно NULL. Что я делаю не так? Код ниже.Ajax Form Submit не работает

ФОРМА:

<div id="theResponse" class="ContactForm"></div> 
    <label><span class="footer_text_2"> Email</span> </label> 
    <br /> 
    <form name="contact" method="post" action=""> 
     <input name="txtEmail" type="text" class="contact" id="txtEmail" value="" /> 
     <span class="footer_text_2"> Message</span> 
     <textarea name="txtComment" cols="18" rows="3" class="contact" id="txtComment"></textarea> 
     <input name="Id" type="hidden" id="Id" value="1"/> 
     <input name="input" type="image" id="ContactSubmit" src="images/btn_send.png" width="60" height="22"/> 
    </form> 

Jquery КОД:

$(document).ready(function(){ 
    //Bind the click event for the login button 
$("#ContactSubmit").bind("click", function(){ }); 
// The click event for button click 
$('#ContactSubmit').click(function() { 
     $.ajax({ 
      type: "POST", 
      url: "MyAccount/ProcessContactForm.asp", 
      data: $("#contact").serialize(), 
      cache: false, 
      dataType: "html", 
      success: function(responseText){ 
       $("#theResponse").html(responseText); 
      }, 
     }); 
    return false; 
}); 
}); 
</script> 
+0

Удалите последнюю запятую после функции успеха, перед закрытием вызова Ajax, в противном случае IE выдаст ошибку – Razorphyn

ответ

2

Попробуйте

Отсутствующие id="contact" в form

<form name="contact" method="post" id="contact" action=""> 


или использовать это с вашей текущей form HTML

data: $('form[name="contact"]').serialize(), 
+1

я никогда не понимал, глупую оплошность ид = "контакт ». Работала отлично. Большое спасибо! – JamesT

+0

@JamesT Приветствуем Вас, чтобы помочь :) –

0

В этой строке:

data: $("#contact").serialize(), 

Вы выбираете идентификатор.

Вы должны изменить эту строку:

<form name="contact" method="post" action=""> 

в

<form id="contact" method="post" action=""> 
0
$("#contact").serialize() 

Это не будет работать, если вы не установите атрибут "ID", чтобы вы формируете элемент.

Остальное нормально, должно работать правильно :)