首頁  >  文章  >  後端開發  >  關於提交資料的問題

關於提交資料的問題

WBOY
WBOY原創
2016-08-18 09:15:401371瀏覽

要提交的資料必須放在input標籤或textarea標籤內嗎?放在別的標籤裡面不行嗎?例如span標籤為什麼不行?如果用input或textarea不方便怎麼辦?

回覆內容:

要提交的資料必須放在input標籤或textarea標籤內嗎?放在別的標籤裡面不行嗎?例如span標籤為什麼不行?如果用input或textarea不方便怎麼辦?

也是可以的,到時你就用js取得這些標籤的內容,然後組裝成要提交的數據,然後透過ajax提交給後端

單純的html form提交肯定行,但如果使用js處理的話,你可以隨便放,只要你能用js獲取到值就行了。 。

表單提交

瀏覽器是如何提交表單的,或者說,瀏覽器在提交表單時,要做哪些事情。

瀏覽器不是將所有的表單控制項全部傳送到伺服器的,而是會尋找所有的【成功控制項】,只將這些成功控制項的資料傳送到服務端, 什麼是成功控制項呢?
簡單地來說,成功控制項是:每個表單中的控制項都應該有一個name屬性和」當前值“, 在提交時,它們將以 name=value 的形式做為提交資料的一部分。
對於某些特殊情況,成功控制還有以下規定:

  1. 控制不能是【停用】狀態,即指定【disabled="disabled"】。即:停用的控制項將不是成功控制項。

  2. 如果一個表單包含了多個提交按鍵,那麼僅當使用者點擊的那個提交按鈕才算是成功控制。

  3. 對於checkbox控制來說,只有被使用者勾選的才算是成功控制。

  4. 對於radio button來說,只有被使用者勾選的才算是成功控制。

  5. 對於select控件來說,所有被選擇的選項都做為成功控件,name由select控件提供。

  6. 對於file上傳文件控制項來說,如果它包含了選擇的文件,那麼它將是一個成功控制項。

此外,瀏覽器不會考慮Reset按鈕以及OBJECT元素。

注意:

  1. 對於checkbox, radio button來說,如果它們被確認為成功控件,但沒有為控件指定value屬性, 那麼在表單提交時,將會以"on"做為它們的value

  2. 如果在服務端讀不到某個表單控制項的值,請檢查它是否符合上述規則。

所以, form表單提交只能識別上述html類型, 其他類型form提交時是不會提交到服務器的


參考自Fish Li,

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn