点击表单的提交按钮会传递什么?

时间:2014-10-08 06:49:56

标签: javascript html node.js forms pug

我正在使用带有jade模板引擎的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

我希望知道这种类型的表单会提交什么,因为它里面有一个表,只有一些readonly输入字段。我希望在提交表单时只传递输入readonly字段。

1 个答案:

答案 0 :(得分:0)

提交表单时,发送的数据包含与“成功控件”对应的名称=值对,如HTML规范中所定义;见例如controlsform data set construction上的HTML 4.01部分。只有名称和值的控件(表单字段)才能成为“成功控件”。在这种情况下,input元素是成功的控件,但input type="submit"元素除外,它不成功,因为它缺少name属性。因此,从这种形式,只提交只读字段。

最好通过构建一个简单的服务器端脚本来检查真正提交的内容,这个脚本只回显它的内容,并且对于测试,将表单的action属性替换为一个那个剧本。