在Javascript函数中传递参数产生意想不到的结果



我有一个函数,我将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;
    }    
}

看看你的代码,你正在使用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>

相关内容

  • 没有找到相关文章

最新更新