我一直试图从代码后面调用.js文件函数,但函数没有被调用。
我有以下html按钮,需要从后面的代码中看到。
<input id="btnShowMap" type="button" value="Results On Map" onclick = "ShowMap();" style="visibility: hidden;"/>
到目前为止,我尝试了以下三种方法,但没有一种方法可以正常工作。
-ClientScript.RegisterStartupScript(Me.GetType(), "VoteJsFunc", "test();")
-Page.ClientScript.RegisterStartupScript(Me.[GetType](), "VoteJsFunc", "alert('Sorry.You are not legible to vote')", True)
-ClientScript.RegisterStartupScript(Me.GetType(), "VoteJsFunc", "test();")
这是.js文件功能
function test() {
var hdLat = $('input[id$=hdVendorLat]').val();
var hdLng = $('input[id$=hdVendorLng]').val();
if (hdLat != 0 && hdLng != 0) {
$('#btnShowMap').show();
}
else {
$('#btnShowMap').hide();
}
}
这是pahe html
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:UpdatePanel ID="updSearch" UpdateMode="Conditional" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnSearch" />
</Triggers>
<ContentTemplate>
<asp:HiddenField ID="hdVendorLat" runat="server" Value="0" />
<asp:HiddenField ID="hdVendorLng" runat="server" Value="0" />
<asp:HiddenField ID="hdVenID" runat="server" Value="" />
<asp:Panel ID="pnlExport" runat="server" Enabled="true">
<asp:Button ID="btnSearch" runat="server" Text="Search" Width="90px" />
<input id="btnShowMap" type="button" value="Results On Map" onclick = "ShowMap();" style="visibility: hidden;" />
</asp:Panel>
<script type="text/javascript" src="/scripts/inspector-search.js"></script>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
答案 0 :(得分:1)
尝试注册脚本,如下所示:
Page.ClientScript.RegisterStartupScript(GetType(), "VoteJsFunc", "test()", True)
我在当地检查过,工作正常。
答案 1 :(得分:0)
jQuery方法show
适用于display
css属性。这相当于致电.css( "display", "block")
。
由于您使用的是visibility
属性,因此方法show
对此更改无效,因此它仍然隐藏。我看到2个选项来解决这个问题:
使用.css( "visibility", "visible")
代替.show()
在输入标记上将style="visibility: hidden;"
替换为style="display: none"
答案 2 :(得分:0)
在调用调用该函数的脚本之前,您只需要在html中调用提到的.js文件。如果您需要更多信息,请提供您的HTML代码。