2014-10-08 102 views
1

我使用node.js與玉模板引擎。我有翡翠形式如下:單擊表單提交按鈕時會傳遞什麼?

form.form-signin(style="padding-left:10px", action='/update', method='post') 
     table.table.table-hover(style="background-color:#fff;align:center;border:1px solid #ddd;padding-left:10px")#myTable.tablesorter 
     tbody 
      - if (evententries.length > 0) { 
      each entry, i in evententries 
       tr(style="height:5;font-size:12px;") 
       td(style="background-color:#5c78b2;") 
        p(style="color: #fff;text-align:center;") Team Name 
       td(style="background-color:#5c78b2") 
        p(style="color: #fff;text-align:center") Presenter(s) 
       td(style="background-color:#5c78b2") 
        p(style="color: #fff;text-align:center") Master 
       td(style="background-color:#5c78b2") 
        p(style="color: #fff;text-align:center") Manager 
       tr(style="height:30px;background-color:#E5EDFC;color: #000;font-size:14px;align:center") 
       td 
        input(type='textbox', name='teamname', value='#{entry.teamname}', style='width:120px;', readonly='readonly') 
       td 
        input(type='textbox', name='presenters', value='#{entry.presenters}', style='width:120px;', readonly='readonly') 
       td 
        input(type='textbox', name='scrummaster', value='#{entry.master}', style='width:120px;', readonly='readonly') 
       td 
        input(type='textbox', name='manager', value='#{entry.manager}', style='width:120px;', readonly='readonly') 
       tr 
       td(style="background-color:#fff; vertical-align:middle") 
        p(style="white-space:pre;word-wrap: break-word;text-align:center") Write-up 
       td(style="background-color:#fff", colspan="2") 
        input(type='textbox', name='writeup', value='#{entry.writeup}', style='width:120px;', readonly='readonly') 
       td(style="background-color:#fff; vertical-align:middle") 
        button#edit(type='submit') Edit 

我想知道是什麼都將這種類型的表單提交,因爲它有一個表裏面有一些只讀輸入fields.I想上提交表單只應該傳入輸入只讀字段。

+0

['disable'](http://www.w3schools.com/tags/att_input_disabled.asp)你不想發送的字段,通過'jquery'或'Javascript'提交 – Ravi 2014-10-08 06:55:30

+0

兩個不同的問題:什麼被提交,以及如何限制提交到只讀字段(這很奇怪 - 爲什麼你想要獲得你已經知道的數據?)。第一個問題在HTML規範中得到解答。第二個答案似乎是沒有什麼需要去做,因爲表單似乎只包含只讀字段,除了提交按鈕,它沒有'name'屬性。那麼這是一個真實的案例,還是真實案例更復雜。 – 2014-10-08 07:03:22

+0

@Ravi表單是否發送所有數據,即表格數據,如「團隊名稱」還是隻有輸入字段。我不想禁用任何輸入字段。如果它發送了所有的數據,那麼如何禁用輸入以外的其他表數據?您給出的示例顯示瞭如何僅禁用輸入字段。 – 2014-10-08 07:04:35

回答

0

當提交表單時,發送的數據由與HTML規範中定義的「成功控件」對應的名稱=值對組成;見例如關於controlsform data set construction的HTML 4.01部分。只有名稱和值的控件(表單域)可以是「成功的控件」。在這種情況下,input元素是成功的控件,但input type="submit"元素除外,因爲它沒有name屬性,所以它不成功。因此,從這種形式,只有只讀字段被提交。

然而,通過構建一個簡單的服務器端腳本來檢查真正獲得提交的內容是一個好主意,它只是迴應它獲取的內容,並且對於測試,將該表單的action屬性替換爲指向該腳本的屬性。