2010-10-31 78 views
3

嘿!
我對形式驗證碼:
使用jQuery發佈表單並將其添加到頁面


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

我也有這個代碼的頁面:

 
<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> 

這是可能的使用jQuery發送而不必重新加載的形式,整個頁面?我可以回覆表格的回覆並將回覆放在第一個<div class="content">的頂部嗎?
注意:我有多個同一類的表單。
非常感謝!

回答

0

要提交使用jQuery一個形式,我相信你需要檢查了這一點:http://api.jquery.com/submit/

而且我相信你可以用下面的檢索提交的數據:

$('[name=mytextarea]').val()` 
+0

.VAL()有一些老的瀏覽器的問題。爲了兼容性,最好使用.attr('value')。 – Scott 2010-10-31 09:00:42

1

是的,發送的形式jQuery相當簡單。

有一個簡單的功能與AJAX發佈數據,並且很容易在窗體的值,以配合:

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

$.post是簡單的方法。如果你需要檢查錯誤以及什麼,你應該檢查$ .ajax(http://api.jquery.com/jQuery.ajax)。

0

是的,這當然是可能的,使用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

如果我有相同班級的各種表格,我如何才能只使用用戶點擊「發送」的那個? – Francesc 2010-10-31 08:50:45

+0

我剛剛注意到,你的問題給了表單'myform'的類,而不是'id'。我已經相應地更新了答案。此操作只會在用戶提交的表單上發生。 'submit'函數的意思是「當提交這些表單中的一個時,就這樣做」。 – lonesomeday 2010-10-31 08:58:29

+0

當我點擊「發送」按鈕時,瀏覽器加載「動作」URL,而不是在同一頁面發送。你知道發生了什麼事嗎? – Francesc 2010-10-31 09:21:26

相關問題