【问题标题】:vb.net form and jquery validationvb.net 表单和 jquery 验证
【发布时间】:2012-05-25 16:52:46
【问题描述】:

我有一个 vb.net 表单按钮,它通过 jquery 验证,然后在后面的代码中排除一个函数,实际上无论验证是真还是假,函数都会停止并且永远不会调用 vb.net 函数怎么能我让它继续后面的代码?

vb.net 表单(文本框和按钮)

      <asp:TextBox ID="ToCc" runat="server"></asp:TextBox>
    <asp:Button ID="emailSend" runat="server" Text="send" />

jquery:

   $("#<%=emailSend.ClientID %>").click(function(){
          if($("#<%=ToCc.ClientID %>").val() == ""){
            alert("this fienld can't be empty") ; 
            return false ; 
          } else{
    return true ; 
}

         });

邮件点击vb功能是

 Protected Sub emailSend_Click(ByVal sender As Object, ByVal e As EventArgs) Handles 

    emailSend.Click

   MsgBox("do any thing ") 

   End Sub

【问题讨论】:

  • 如果你想使用 jquery,你可以声明共享的方法并用 [WebMethod] 属性装饰它,然后使用 jquery ajax 调用该方法以异步发送电子邮件

标签: c# javascript jquery asp.net vb.net


【解决方案1】:

您尚未将 emailSend_Click 方法指定为按钮的事件处理程序。其次,您可以使用RequiredFieldValidator 来完成您的验证目标。

试试&lt;asp:Button ID="emailSend" runat="server" Text="send" onclick="emailSend_Click" /&gt;

此外,从您的代码中删除语句 emailSend.Click。您已经在 click 事件处理程序中。

【讨论】:

  • @MinaGabriel 为什么坚持使用jquery?如果您使用RequiredFieldValidator,那么它也会自动在服务器端进行检查,无论如何您都必须这样做——永远不要相信从客户端发回的数据。
【解决方案2】:

这是jquery版本

$('input[id$=emailSend]').click(function(){
if($('input[id$=ToCc]').val() == ''){
            alert("this fienld can't be empty") ; 
            return false ; 
          } 
});

【讨论】:

    【解决方案3】:

    更简洁,更“jQuery”:

    $("#<%=emailSend.ClientID %>").click(function(event) { 
          if($("#<%=ToCc.ClientID %>").val() == "") { 
            alert("this field can't be empty") ;  
            event.preventDefault(); 
          }  
    }); 
    

    默认情况下,如果一切正常,它会返回 true。

    【讨论】:

    • $("#") 将查找以 作为 ID 的元素查看 SLAKS 评论
    • 呃,不,不会,&lt;%= emailSend.ClientID %&gt; 会在页面加载时将完整的客户端 ID 写入脚本,因为它是 ASP.NET - 我已经多次这样做了,没有任何问题。使用属性搜索只会增加浏览器搜索 DOM 的负担。
    • 反正不能在单独的js文件中使用
    • 确实如此,如果您的网站以这种方式布局,请牢记这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-08
    • 2010-12-06
    • 2012-07-06
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多