当JavaScript值插入.NET TextBox时,Document.GetElementsByname(..)[0



我想将值从javascript变量插入文本框值。在JavaScript变量中,数据进展顺利,但是当该变量数据我将在当时使用JavaScript存储在.NET TextBox中时,此类型的错误即将到来。

这是我的代码

<form>
<asp:TextBox name="password" ID="txt_pass" runat="server"></asp:TextBox>
<asp:Button ID="btn_captcha" runat="server" Text="Gen. Pass." OnClientClick="return false;" ClientIDMode="Static"/>
<script>
    $(function () {
        $(document).on("click", "#btn_captcha", function (e) {
            var length = 5,
        charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",
        retVal = "";
            for (var i = 0, n = charset.length; i < length; ++i) {
                retVal += charset.charAt(Math.floor(Math.random() * n));
            }
            alert(retVal);
            document.getElementsByName('password')[0].value = retVal;
        });
    });
    </script>
</form>

您可以使用ID代替name

document.getElementById('<%= txt_pass.ClientID %>').value = retVal;

document.querySelector('[id$=_txt_pass]').value = retVal;

我认为您的问题是您正在寻找的文本框名称和ID不是静态的,这就是为什么JavaScript找不到该元素的原因。按F12使用开发人员工具来验证上述输入的名称和ID,然后使用静态。

相关内容

  • 没有找到相关文章

最新更新