關於提交資料的問題

來源:互聯網
上載者:User
要提交的資料必須放在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,

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.