HTML5禁用属性不会向数据库提交值


HTML 5 disable attribute wont submit value to database

我有一个表单,如果用户登录,将从他们的帐户数据库中检索姓名和手机号码等字段,我还想禁用输入字段。

这是供参考的代码:

 <?  if ($usernamefromdatabase==$username) { ?> <input type="text" size="150" name="name" value="<? echo $givenname?>" maxlength="20" pattern="[A-Za-z's]{1,20}" disabled> <? }
else { ?> <input type="text" size="150" name="name" value="" maxlength="20" pattern="[A-Za-z's]{1,20}" autofocus required/> <? }  ?>

代码工作正常,我确实看到字段被禁用并自动填充。然而,当我提交时,我与我的数据库进行了交叉检查;禁用的字段根本没有保存。

有人能透露一些信息吗?

disabled是停止正在提交的字段。也许你把它和readonly混淆了?

设置后,禁用的属性对元素:

  • 禁用的控件无法获得焦点
  • 选项卡导航中将跳过禁用的控件
  • 禁用的控件无法成功

--http://www.w3.org/TR/html4/interact/forms.html#adef-禁用