C# onsubmit函数在具有runat=server属性时不会启动

C# onsubmit函数在具有runat=server属性时不会启动,c#,javascript,asp.net,webforms,C#,Javascript,Asp.net,Webforms,这是我的代码,我的问题是我表单上的onsubmit=“return valform()”属性不会启动如果runat=“server”属性存在,它们不能一起工作请帮助我我不明白为什么这两个属性不能一起工作这是因为你不能同时使用它们。正如文件中所说: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Register.aspx.cs" Inherits="Register" MasterPageFile="MasterPage.ma

这是我的代码,我的问题是我表单上的onsubmit=“return valform()”属性不会启动如果runat=“server”属性存在,它们不能一起工作请帮助我我不明白为什么这两个属性不能一起工作这是因为你不能同时使用它们。正如文件中所说:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Register.aspx.cs" Inherits="Register" MasterPageFile="MasterPage.master" %>

<asp:Content ID="ContentPlaceHolder1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">


</asp:Content>

<asp:Content ID="ContentPlaceHolder2" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server">

<br />

<div id="signupform">

<form  class="signupform" name="formreg" runat="server" onsubmit="return valform()"> <br/>

<input dir="rtl" type="text" name="uname" class="uname"/> </br>

<input dir="rtl" type="text" name="fname" class="fname"/> </br>

<input dir="rtl" type="text" name="lname" class="lname"/> </br>

<input dir="rtl" type="password" name="pword" class="pword"/> </br>

<input dir="rtl" type="password" name="rpword" class="rpword"/> </br>

<input dir="rtl" type="text" name="mmail" class="mail"/> </br>

<input dir="rtl" type="text" name="rmail" class="rmail"/> </br>

<input dir="rtl" type="text" name="gil" class="gil"/> </br>

<input type="checkbox" name="anon" value="True" class="dropan"/></br>

<input type="submit" name="sub" class="subbutton" value=""/>

<%=registrationstatus %>
</form>

</div>

</asp:Content>

通过检查您的代码,我得出结论,您可能正在母版页上使用另一个表单标记,并且不存在javascript问题。母版页或内容页上只能存在一个表单标记(服务器端)。它们不能嵌套。当您在两个表单标记上都使用runat=“Server”属性时,会出现错误,说一个页面只能有一个服务器端表单标记“。因此,从一个表单标记中删除
runat=“server”
属性,
onsubmit
将开始启动。

我用非常简单的方法解决了这个问题

如果我们有这样的表格

$(function(){
    $("#formreg").submit(function(){
        return valform();
    });
});

当表单是
runat=“server”
时,它使用
javascript:return WebForm_onsubmit()设置
onsubmit
属性值,显然它会覆盖您正在设置的值。你想用
valform()
函数做什么?是的,请向我们展示valform()函数。你在母版页上也声明了另一个表单吗?是的,我有,但它没有在服务器上运行
$(function(){
    $("#formreg").submit(function(){
        return valform();
    });
});
<form method="post" name="setting-form" >
   <input type="text" id="UserName" name="UserName" value="" 
      placeholder="user name" >
   <input type="password" id="Password" name="password" value="" placeholder="password" >
   <div id="remember" class="checkbox">
    <label>remember me</label>
    <asp:CheckBox ID="RememberMe" runat="server" />
   </div>
   <input type="submit" value="login" id="login-btn"/>
</form>
$(document).ready(function () {
            $("#login-btn").click(function (event) {
                event.preventDefault();
                alert("do what ever you want");
            });
 });