我需要在加载时禁用jsp页面上的下拉列表。但是如果禁用html元素将不会被发布。我尝试使用与html元素具有相同id的隐藏元素,但它仍未发布元素我正在使用struts.Any建议将不胜感激。
由于 阿米努
答案 0 :(得分:1)
您的方法很好,但您没有使用正确的属性。 name
是根据请求发送的,而不是id
属性。
以下是一个关于如何操作的简单示例(将其保存在名为t.html
的文件中):
<script type="text/javascript">
function disableCombo() {
var combo = document.getElementById("comboId");
var txt = document.getElementById("txtId");
combo.disabled = true;
txt.value = combo.value;
}
</script>
然后......
<body onload="javascript:disableCombo();">
<form method="get" action="t.html">
<select name="comboName" id="comboId">
<option value="v1">Value 1</option>
<option value="v2" selected="selected">Value 2</option>
<option value="v3">Value 3</option>
</select>
<input type="hidden" name="comboName" id="txtId" value="waiting to see what happens" />
<input type="submit" value="watch the address bar" />
</form>
</body>
按下提交时,请求会发送组合的值(在加载时禁用组合时已隐藏在隐藏字段中)。