我有一个函数,我将ID参数作为对象传递给javascript函数,但是浏览器不会将其读取。
<div id="searchByUser">
<input type="text" runat="server" id="txtSearchByEmail" onclick="ButtonEnabled('butSearchByEmail', 'txtSearchByEmail')" onkeyup="ButtonEnabled('butSearchByEmail', 'txtSearchByEmail')" />
<input type="button" runat="server" id="butSearchByEmail" onserverclick="butSearch_Click" value="Search User" disabled/>
</div>
如果我这样做而不是ButtonEnabled('MainContent_butSearchByEmail', 'MainContent_txtSearchByEmail')
它可以正常工作。
我从浏览器(Google Chrome)获取此信息
有没有一种方法可以在没有“硬编码”的情况下这样做呢?
这是javascript函数
function ButtonEnabled(objButton, objText) {
var t = document.getElementById(objText);
var b = document.getElementById(objButton);
if (t.value.length > 1) {
b.disabled = false;
}
else {
b.disabled = true;
}
}
答案 0 :(得分:1)
查看您的代码,您正在使用asp.net。您必须使用ClientID
<div id="searchByUser">
<input type="text" runat="server" id="txtSearchByEmail" onclick="ButtonEnabled('<%= butSearchByEmail.ClientID %>', '<%= txtSearchByEmail.ClientID %>')" onkeyup="ButtonEnabled('<%= butSearchByEmail.ClientID %>', '<%= txtSearchByEmail.ClientID %>')" />
<input type="button" runat="server" id="butSearchByEmail" onserverclick="butSearch_Click" value="Search User" disabled/>
</div>