AJAX отправить форму - PullRequest
       5

AJAX отправить форму

1 голос
/ 15 января 2011

У меня есть этот кусок кода здесь

<script>
function req() {
  $("div.formbut").hide("slow");  
  $("div.inqform").show("slow");  
var targetOffset = $(\'div.inqform\').offset().top; $(\'html,body\').animate({scrollTop: targetOffset}, 1000);   
  }
$("submit2").click(req);
$("form").submit(function () {
  if ($("input").val() == "yes") {
    $("p").show(4000, function () {
      $(this).text("Ok, loaded! (now showing)");
   });
  }
  $("div.rates").hide("slow");
  $("div.ratesbut").hide("slow");  
  $("div.inqform").hide("slow");
  $("div.done").show("slow");
var targetOffset = $(\'div.done\').offset().top; $(\'html,body\').animate({scrollTop: targetOffset}, 1000);     
  return false; 
});
</script>

"div.inqform" имеет маленькую форму. Я заметил, что это не публикуется. Как получить отправленную форму, не разрушая то, что у меня уже есть?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 15 января 2011

Какую ошибку вы совершаете здесь, я думаю, что

$("submit2").click(req);  // change this to $("#submit2").click(req);
$("form").submit(function () { // change this to $("#form").submit(function () {

вы должны использовать $("#submit2") для id = "submit2"

и вынеобходимо использовать $(".submit2") для class = "submit2"

Также удалите \' из вашего кода и попробуйте

0 голосов
/ 15 января 2011

Ну, похоже, вы используете Prototype. Доступен метод form.request, который вы можете использовать для отправки формы через ajax и получения текста ответа.

Ваша форма, однако, выглядит загруженной через ajax, а затем вставленной в DOM. Таким образом, вы можете столкнуться с некоторыми проблемами, которые были здесь решены. Вы также можете получить необходимые коды из этого вопроса и ответа:

Не удается получить доступ к элементам, ранее созданным innerHTML с Javascript / Prototype

...