我想将JavaScript变量中的值插入到文本框值中。在JavaScript中,变量数据非常好,但是当我使用JavaScript存储在.net文本框中的变量数据时,这种类型的错误就会出现。
这是我的代码
<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>
答案 0 :(得分:1)
您可以使用Id代替名称
document.getElementById('<%= txt_pass.ClientID %>').value = retVal;
或
document.querySelector('[id$=_txt_pass]').value = retVal;
答案 1 :(得分:0)
我认为您的问题是您要查找的文本框名称和ID不是静态的,这就是为什么javascript无法找到该元素。按F12使用开发人员工具验证上述输入的名称和ID,然后使用静态输入。