在Html5中,如何在用户提交表单时重新输入输入字段

时间:2018-01-17 16:19:03

标签: javascript

在Html5中,如何在用户提交表单时重新输入输入字段。我有一个文本字段,用户只能使用某个关联按钮进行修改,因此我将其设置为禁用,以便他们无法手动修改它。但是因为当用户提交表单时它被禁用,我的服务器没有收到请求中字段的值。那么如何在按下提交按钮时启用它,或者我应该采取另一种方法。

1 个答案:

答案 0 :(得分:2)

disabled元素在提交表单时不会发送其值,您应该使用readonly代替。

根据w3c's definition

  

<强>禁用:

     
      
  • 为表单控件设置时,此布尔属性将禁用用户输入的控件。
  •   
  • 已禁用的控件无法获得焦点。
  •   
  • 在标签导航中跳过已禁用的控件。
  •   
  • 禁用的控件无法成功。
  •   
     

<强>只读:

     
      
  • 为表单控件设置时,此布尔属性禁止更改控件。
  •   
  • 只读元素获得焦点,但用户无法修改。
  •   
  • 只读元素包含在标签导航中。
  •   
  • 只读元素可能会成功。
  •   

编辑:您可以为视觉指示应用CSS规则。

&#13;
&#13;
[readonly] {
  cursor: not-allowed;
  border: 1px solid #ccc;
  background-color: #eee;
  color: #555;  
}
&#13;
<label>Not "Disabled"</label>
<br>
<input type="text">
<br>
<br>
<label>"Disabled" (Actually readonly)</label>
<br>
<input type="text" readonly>
<br>
<br>
<label>You can still select (therefore copy) readonly values</label>
<br>
<textarea rows="4" cols="50" readonly>Hello :)</textarea>
&#13;
&#13;
&#13;