无法从.NET页面获取javascript格式的表单?

无法从.NET页面获取javascript格式的表单?,javascript,asp.net,.net,dom,forms,Javascript,Asp.net,.net,Dom,Forms,我有一个典型的带有母版页的.NET页面。该网页有一个asp:Button,它调用javascript函数Form\u Validator()。无论我如何尝试,我都无法在Form\u Validator()函数中获取表单。它总是空的 我也尝试过这样传递表单的传统方法:OnClientClick=“Form\u Validator(this.Form);,但没有任何效果。我只是觉得它与母版页有关 <asp:Button ID="cmdSubmit" runat="server" Text="S

我有一个典型的带有母版页的.NET页面。该网页有一个
asp:Button
,它调用javascript函数
Form\u Validator()
。无论我如何尝试,我都无法在
Form\u Validator()函数中获取表单。它总是空的

我也尝试过这样传递表单的传统方法:
OnClientClick=“Form\u 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>

函数形式_验证器(){
var theForm=document.getElementById(this.Form1);
警报(表格);

这可能与母版页有关,因为ASP.NET将使用类似“[Content Placeholder ID].[Control]”的命名约定。不过,这应该可以:

var theForm = document.forms[0];

或者,您可以尝试将“clientdmode”(在page指令中)设置为“static”,这将告诉ASP.NET按照您告诉它的方式分配ID,而不是使用所有疯狂的嵌套命名约定。

这可能与母版页有关,因为ASP.NET将使用类似“[Content Placeholder ID]”的命名约定“。不过,这应该是可行的:

var theForm = document.forms[0];

或者,您可以尝试将“ClientMode”(在page指令中)设置为“static”,这将告诉ASP.NET按照您告诉它的方式分配ID,而不是使用所有疯狂的嵌套命名约定。

ASP.NET功能ClientID是呈现给页面的ID。您可以使用

<script type="text/javascript">
   function Form_Validator() {
   var theForm = document.getElementById("<%=this.Form1.ClientID%>");
   alert(theForm);
</script>

函数形式_验证器(){
var theForm=document.getElementById(“”);
警报(表格);
这将把呈现到页面中的FormID插入到您的javascript中。如果您不使用“静态”客户机id模式,这也将是您访问其他表单元素的方式

例如:



。还有一个很好的。

ASP.net功能ClientID,它是呈现到页面的ID。您可以使用

<script type="text/javascript">
   function Form_Validator() {
   var theForm = document.getElementById("<%=this.Form1.ClientID%>");
   alert(theForm);
</script>

函数形式_验证器(){
var theForm=document.getElementById(“”);
警报(表格);
这将把呈现到页面中的FormID插入到您的javascript中。如果您不使用“静态”客户机id模式,这也将是您访问其他表单元素的方式

例如:



。还有一个很好的方法。

您也应该发布表单的HTML,这可以帮助我们解决您的问题!:)您也应该发布表单的HTML,这可以帮助我们解决您的问题!:)dbaseman,谢谢!它成功了,仅供参考…我必须同时实现(clientMode=“Static”)和(var theForm=document.forms[0];)这最终给了我表单,非常感谢!!dbaseman,谢谢!它成功了,仅供参考…我必须同时实现(clientMode=“Static”)和(var theForm=document.forms[0];)这最终给了我表单,非常感谢!!