2014-09-05 100 views
3

這可能是一個愚蠢的問題,但對我來說真的很重要,即使我們使用jQuery Ajax從服務器或數據庫傳遞並檢索數據,我們是否真的仍然需要將輸入元素包裝在<form>一側?使用AJAX請求時,我還需要Form元素嗎?

我的意思,而阿賈克斯方法有喜歡的類型,網址,數據的選擇,甚至像的dataType下面

$.ajax({ 
     type: "POST", 
     url:"process.php", 
     data: data, 
     dataType: "JSON" 
}); 

我們還需要形成的?從安全方面來說,我認爲我們可以驗證用戶輸入,而不需要表單元素,但我不確定它是否正確? 如果您認爲我們仍然需要該表單,那麼我們應該如何處理表格屬性,如actionmethod?我們應該把它們留空嗎? 謝謝

+0

你需要支持不支持JavaScript客戶端。如果不是,那就做你喜歡的事。 – epascarello 2014-09-05 20:22:34

+0

[爲什麼在通過ajax提交時使用表單標記?]的可能重複(http://stackoverflow.com/questions/6309214/why-use-a-form-tag-when-youre-submitting-via- ajax) – Mathletics 2014-09-05 20:23:06

+0

我不明白你爲什麼不會使用表格。 – Mathletics 2014-09-05 20:23:30

回答

4

不,在使用ajax時,不需要在表單標籤中包裝輸入(或其他)元素。

但是,有時候使用表單構造是一個好主意,比如如果您希望回車鍵提交表單。

然而,如果您使用的一種形式或提交按鈕<input type="submit"那麼你必須記得用return false;e.preventDefault();在你的事件代碼,以防止從表單提交和刷新頁面。例如:

$('#myForm').submit(function(event){ 
    event.preventDefault(); 
    //do your validation, ajax, etc stuff 
}); 

因此,我很少(如果有的話)使用表單標籤,而是使用jQuery/js來自己控制ux。

參考:

Why use a form tag when you're submitting via ajax?

2

當使用Ajax時,表單有多種用途。它提供:

  • ,爲用戶的數據提交到服務器時的JavaScript由於某種原因失敗
  • 方便DOM接口的控件裏面(formElement.elements.field_id_or_name
  • 語義分組的方式,是(例如)使用讀屏軟件
  • 處理爲按ENTER鍵來觸發在所有領域提交事件

你不嚴格的需要它,除非你想要一個健壯的,可訪問的,可用的頁面,而不需要更多的努力。

+1

更不用說將表單標記爲「表單」的語義值。 – Mathletics 2014-09-05 20:22:36

相關問題