Microsoft JScript运行时错误:表单中需要对象
本文关键字:对象 表单 JScript 运行时错误 Microsoft | 更新日期: 2023-09-27 18:20:37
我有这个html代码:
<td align="center">
<asp:Button ID="btnPesquisar" runat="server" Text="Pesquisar" Width="150px" CssClass="manu_btn" OnClientClick="return validaParamsEstatisticaTopSearch();" ToolTip="Prima para efectuar a pesquisa">
</asp:Button>
</td>
<td style="font-size: 10px;">
<asp:DropDownList ID="ddlTopSearch" runat="server" Width="250px" Font-Size="10px" AutoPostBack="true" ToolTip="Escolha o tipo de pesquisa">
</asp:DropDownList>
</td>
以及我的功能:
function validaParamsEstatisticaTopSearch(){
var dT=document.getElementById("ddlTopSearch").value;
var dL=document.getElementById("ddlLingua").value;
var tT=document.getElementById("txtNTop");
var tdI=document.getElementById("txtDiaI");
var tmI=document.getElementById("txtMesI");
var taI=document.getElementById("txtAnoI");
var tdF=document.getElementById("txtDiaF");
var tmF=document.getElementById("txtMesF");
var taF=document.getElementById("txtAnoF");
if( dT=="*" )
{
alert("Por favor escolha uma das opções de selecção de pesquisa ('TopSearch')!");
return false;
}
return true;
}
它给了我一个"Microsoft JScript runtime error: Object required
"。
我似乎不明白自己做错了什么。
当参数上的getElementById
返回null,然后尝试使用该参数时,通常会出现此错误。
例如,在这行中,您可能没有找到ddlTopSearch
var dT=document.getElementById("ddlTopSearch").value;
因为asp.net在页面上呈现它的方式不同,所以要获得正确的/呈现的ID,请使用ClientID
作为:
var dT=document.getElementById("<%=ddlTopSearch.ClientID%>").value;
其余id也是如此。
此外,我必须注意,下拉列表没有将value
作为其他输入控件。要获得值,您必须使用以下javascript代码:
var e = document.getElementById("<%=ddlTopSearch.ClientID%>");
var sTopSearchValue = e.options[e.selectedIndex].value;
参考:是否使用JavaScript在下拉列表中获取所选值?
请提供更多详细信息
如果您在.aspx页面中使用母版页,那么您应该知道控件id在运行时发生了更改。
我认为在你的情况下,问题是由于错误的控制id。
单击此处获取有关由于母版页而更改控件id的更多信息。