【问题标题】:changing hidden field in client side problem更改客户端问题中的隐藏字段
【发布时间】:2009-02-24 02:32:16
【问题描述】:

我有一个隐藏字段,我在使用 Javascript 提交表单之前更改了值。但在服务器端它为空或空。 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>

【问题讨论】:

    标签: asp.net javascript html dom


    【解决方案1】:

    document.GetElementsByName 返回一个元素数组,即使只有一个。为什么不使用document.GetElementById 并为隐藏输入分配一个ID?这应该可以正常工作。

    【讨论】:

    • 是的,它正在工作。非常感谢,我真的很感激。
    【解决方案2】:

    我会做你正在做的不同的事情,但你可以这样做,假设页面上只有一个元素的名称属性为“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"] 现在不应为空。

    【讨论】:

      猜你喜欢
      • 2013-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-26
      • 1970-01-01
      • 2011-06-14
      相关资源
      最近更新 更多