我有一个隐藏字段,我在使用Javascript提交表单之前更改了值。但在服务器端它是null或空。 Request.Form [“hidAction”]是 空。
<script type="text/javascript" language="javascript">
function DoChange()
{
document.getElementsByName('hidAction').value = "filter";
alert(document.getElementsByName('hidAction').value);
document.forms[0].submit();
}
</script>
<body>
<form id="form1" runat="server">
<div>
<select name="lst" onchange="DoChange();">
<option value="1">1</option>
<option value="2">2</option>
</select>
</div>
<input type="hidden" id="hidActionID" name="hidAction" value="tt" />
</form>
</body>
</html>
答案 0 :(得分:1)
document.GetElementsByName
返回一个元素数组,即使只有一个元素。为什么不使用document.GetElementById
并为隐藏输入分配ID?这应该可以正常工作。
答案 1 :(得分:0)
我会以不同的方式做你正在做的事情,但是如果页面上只有一个页面上有一个名称属性为“hidAction”的元素,那么继续你所拥有的就可以做到这一点:
function DoChange()
{
document.getElementsByName('hidAction')[0].value = "filter";
alert(document.getElementsByName('hidAction')[0].value);
document.forms[0].submit();
}
您也可以这样做,假设页面上只有一个表单:
function DoChange()
{
document.forms[0]['hidAction'].value = "filter";
alert(document.forms[0]['hidAction'].value);
document.forms[0].submit();
}
当你回发时,Request.Form [“hidAction”]现在不应该是空的。