Опубликовать форму с помощью jQuery и добавить ее на страницу - PullRequest
3 голосов
/ 31 октября 2010

Эй!
У меня есть этот код для формы:


<form class="myform" name="myform" method="POST" action="post.php">
<textarea id="mytextarea" name="mytextarea"></textarea>
<button>Share</button>
</form>

У меня также есть этот код для страницы:

<Code>
<div class="content">
<div class="message">That message</div>
<div class="info">Published 10/10/10 </div>
</div>
<div class="content">
<div class="message">That other message</div>
<div class="info">Published 10/9/10 </div>
</div>

</code>

Можно ли отправить форму с помощью jQuery вместо перезагрузки всей страницы? Могу ли я получить ответ из формы и поместить ответ в начало первого <div class="content">?
Примечание. У меня есть несколько форм одного класса.
Большое спасибо!

Ответы [ 3 ]

1 голос
/ 31 октября 2010

Да, отправка форм с помощью jQuery довольно проста.

Существует простая функция для публикации данных с помощью AJAX, и легко связать значения формы:

$.post(url, $('#myform').serialize(), function(data) { 
    $('#content').prepend(data);
})

$.post - это простой способ. Если вам нужно проверить наличие ошибок и еще много чего, вы должны проверить $ .ajax (http://api.jquery.com/jQuery.ajax).

0 голосов
/ 31 октября 2010

Да, это возможно при использовании AJAX:

$('.myform').submit(function(e){
    var data = $(this).serialize();
    e.preventDefault();

    $.ajax({
        url: this.action,
        type: 'POST',
        success: function(data) {
            $('#content').prepend(data);
        },
        error: function() {
            alert('oops, something went wrong');
        }
    );
});
0 голосов
/ 31 октября 2010

Чтобы отправить форму с помощью jQuery, я считаю, что вам нужно проверить это: http://api.jquery.com/submit/

И я уверен, что вы можете получить отправленные данные со следующими данными:

$('[name=mytextarea]').val()`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...