我有一个带有母版页的典型.NET页。网页上有一个asp:Button
,可调用javascript函数Form_Validator()
。无论尝试如何,都无法在Form_Validator()
函数中获取Form。始终为空。
我也尝试过像这样传递表单的传统方法:OnClientClick="Form_Validator(this.form);
,但是没有任何效果。我只是觉得它与母版页有关?
<asp:Button ID="cmdSubmit" runat="server" Text="Submit" OnClientClick="Form_Validator();" OnClick="cmdSubmit_Click" />
<script type="text/javascript">
function Form_Validator() {
var theForm = document.getElementById(this.Form1);
alert(theForm);
</script>
最佳答案
它可能与母版页有关,因为ASP.NET将使用诸如“ [Content Placeholder ID] _ [Control]”的命名约定。这应该可以工作:
var theForm = document.forms[0];
另外,您可以尝试将“ ClientIDMode”(在page指令中)设置为“ static”,这将告诉ASP.NET按照您告诉ID的方式分配ID,而不使用所有疯狂的嵌套命名约定。