我有一个带有母版页的典型.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,而不使用所有疯狂的嵌套命名约定。

09-17 16:40
查看更多