我有以下代码,我禁用并启用日历可点击图标。
<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
并拥有隐藏的输入变量,并提交它并引用该变量。但我正在寻找另一种方法,因为如果我引入一个新的隐藏变量,我会对我的代码进行大量的重构。
感谢。
答案 0 :(得分:0)
已禁用不提交值,但只读确实提交值。
答案 1 :(得分:0)
如果您希望禁用输入字段但仍然在提交表单时发送其值,则可以使用一点JavaScript。
要实现此目的,请先将此位添加到<form>
标记:
<form ... onsubmit="EnableInputs(this);">
然后添加这个JS函数:
function EnableInputs(oForm) {
oForm.elements["calid"].disabled = false;
}
您可以使用getElementsByTagName
启用更多此类元素或所有输入并循环播放。
这将在提交时启用元素,从而发送其值。