输入类型禁用,readonly与href表现不同

时间:2011-11-13 11:09:39

标签: javascript html

我有以下代码,我禁用并启用日历可点击图标。

<p>      
   <label>
      <input type="text" name="date18" id="date18" value="01/01/2012"
      style="width:75px;" disabled/>
   </label>
   <a href="#" onclick="somecaledarrelatedstuff()" name="calid" id="calid">
      <img src="icon-Calendar.jpg" alt="Click to pick a date from a popup 
      calendar"/>
   </a>
</p>

当我如上所述添加disable时,输入字段和日历弹出窗口的链接也会被禁用。但由于未提交禁用元素的值,我想将其设为只读。但问题是,当它是只读时,只有输入字段也是只读的(也不是日历弹出链接),就像使用disable一样。

我知道是否要禁用(只是为了防止用户编辑)输入字段和href我可以使用disabled并拥有隐藏的输入变量,并提交它并引用该变量。但我正在寻找另一种方法,因为如果我引入一个新的隐藏变量,我会对我的代码进行大量的重构。

感谢。

2 个答案:

答案 0 :(得分:0)

已禁用不提交值,但只读确实提交值。

答案 1 :(得分:0)

如果您希望禁用输入字段但仍然在提交表单时发送其值,则可以使用一点JavaScript。

要实现此目的,请先将此位添加到<form>标记:

<form ... onsubmit="EnableInputs(this);">

然后添加这个JS函数:

function EnableInputs(oForm) {
    oForm.elements["calid"].disabled = false;
}

您可以使用getElementsByTagName启用更多此类元素或所有输入并循环播放。

这将在提交时启用元素,从而发送其值。