Проблема опубликованных данных с помощью jQuery submit () - PullRequest
0 голосов
/ 03 февраля 2011

У меня есть скрипт ниже.Я пытаюсь отправить данные и вставить их в базу данных, jQuery выполняется просто отлично, но ничего не публикуется, действие работает правильно, потому что, когда я публикую данные без скрипта, данные отправляются нормально и вставляются вС базой данных все в порядке, без ошибок, поэтому кажется, что функция jquery ничего не публикует.Может кто-нибудь, пожалуйста, помогите?

$('#form').live('submit',function(){
  $('#form').fadeOut('slow');
  $('#div').append("<h2>submittes</h2>");
  return false;
  });


<form id="form" method="post" action="execute.php" name="form">
<textarea id="text" name="update"></textarea>
<br>
<input type="submit" value="update" id="update-submit">
</form>

РЕДАКТИРОВАТЬ:

$('#form').live('submit',function(){
var updateTextArea = $('#textarea').val();
$.ajax({  
  type: "POST",  
  url: "execute.php",  
  data: updateTextArea,  
  success: function() {  
  $('#form').fadeOut('slow');
  $('#div').append("<h2>updated</h2>");
  }
  });
  return false;
  });

это то, что я имею для AJAX, но я до сих пор не добился успеха.

Ответы [ 2 ]

2 голосов
/ 03 февраля 2011

У вас нет вызовов AJAX в вашем JavaScript.Вы просто затушевываете форму, добавляете h2 и препятствует выполнению действия по умолчанию (что означает отправку формы в обычном режиме).

Вот базовый пример того, как создать POST-ajaxrequest:

$('#form').submit(function(){
  $.post($(this).attr('action'), { update: $(this).find('#text).val() }, function(){
    // success
  });
});

Ознакомьтесь с API / документами jQuery для получения дополнительной информации по этому вопросу.Есть также множество учебников, скрывающихся в сети о том, как это сделать.

1 голос
/ 03 февраля 2011

Что ж, возвращая false из функции обработчика событий, вы запускаете две вещи:

  • предотвращает действие по умолчанию (.preventDefault())
  • останавливает распространение события (.stopPropagation())

Это предотвращает возможность отправки.

Вам необходимо самостоятельно передать данные в обработчике события submit.Например, создайте запрос ajax, который сериализует данные формы и отправит их на ваш сервер.

Может выглядеть так:

$('#form').live('submit',function(){
  $('#form').fadeOut('slow');
  $('#div').append("<h2>submittes</h2>");

  $.post('execute.php', $(this).serialize(), function(data) {
      // do something after success
  });
  return false;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...