代码之家  ›  专栏  ›  技术社区  ›  Stremlenye

如何防止客户端回发?

  •  3
  • Stremlenye  · 技术社区  · 15 年前

    我在客户端上有一些验证JS代码,必须在回发之前执行。 如果此验证代码返回“false”,则不需要回发。 如何禁用它?

    5 回复  |  直到 15 年前
        1
  •  4
  •   Joel Coehoorn    15 年前

    记住,真正的验证应该 总是 发生在服务器上。您在客户端所做的任何事情都只是为了节省一些http往返的优化。

    如果要执行标准验证控件未涵盖的操作,应该使用CustomValidator或从BaseValidator继承自己的控件。

        2
  •  3
  •   Ed B    15 年前

    在ASP按钮上设置OnClientClick='YourJSValidationFunction'。

    然后让YourJSValidationFunction返回true或false。

    False将阻止回发

    http://vijaymodi.wordpress.com/2007/06/08/button-onclick-and-onclientclick-2/

        3
  •  2
  •   user132936    15 年前

    如果回发是由按钮触发的,则可以执行以下操作:

    <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return IsValid();" />
    

    如果IsValid函数返回false,则将阻止回发。
    <form id="form1" runat="server" onsubmit="return IsValid();">

        4
  •  0
  •   Kate    15 年前

    你用什么:一些验证器或者带有onclick事件的按钮? 如果你有

    <input type="button" id="btnID" runat="server" onclick="CheckValid();"/>
    
    function CheckValid()
    {
       if(!IsValid) return false;//then no post back occer
    }
    
        5
  •  0
  •   AaronSieb    15 年前

    根据您尝试的验证,您还可以使用CustomValidator控件。这还允许您在服务器端轻松实现验证逻辑。

    推荐文章