我想将值从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,然后使用静态。