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

如何处理一个窗体上的两个提交按钮?

  •  6
  • MrM  · 技术社区  · 14 年前

    <% using (Html.BeginForm("UserInfo", "Home", FormMethod.Post, new { id  = "formNext" })) { %> 
    .... 
    <input id="submitHome" type="submit" name="goHome" value="Home" />  
    <input id="submitNext" type="submit" name="getNext" value="Next" /> 
    <% } %>
    
    
    $(document).ready(function() {       
    $('#formNext').submit(function() {      
            //Code Does not work but looking at something like this...
            //$('#submitHome').click(function() {
            //      navigate to Home;
            //});
            //$('#submitNext').click(function() {
            //      return true;
            //});
        });
    });
    
    5 回复  |  直到 7 年前
        1
  •  16
  •   Matt user129975    14 年前
    $('#submitHome').click(function() {
          //navigate to Home;
    });
    $('#submitNext').click(function() {
          return true;
    });
    

    如果您将它们拉到表单之外,这些应该可以工作。submit()(现在这些处理程序是在表单提交后附加的,这太晚了,因为已经发生了单击)

        2
  •  8
  •   Jose Rojas    9 年前

    $(function() {
     var buttonpressed;
     $('input[type=submit]').click(function() {
          buttonpressed = $(this).attr('name')
     })
     $('form').submit(function() {
          alert('button clicked was ' + buttonpressed)
            buttonpressed=''
        return(false)
     })
    })
    

    资料来源: https://forum.jquery.com/topic/determining-which-of-two-submit-buttons-were-clicked-in-a-single-form

        3
  •  2
  •   Matt user129975    14 年前
    $(function(){
      $(".submitButton").click(function(e){
        alert($(this).attr("name"));
      });
    });​
    

    Working demo behind the link.

        4
  •  2
  •   Marwelln    14 年前

    <% using (Html.BeginForm("UserInfo", "Home", FormMethod.Post, new { id = "formNext" })) { %>
    ....
    <input id="submitHome" type="submit" name="goHome" value="Home" />
    <input id="submitNext" type="submit" name="getNext" value="Next" />
    <% } %>
    
    
    $(document).ready(function() {
      $('#submitHome').click(function(e) {
        e.preventDefault(); // prevent the page to do the usuall onclick event (from reloading the page)
        // navigate to Home;
      });
      $('#submitNext').click(function(e) {
        e.preventDefault();
        // return true;
      });
    });
    
        5
  •  0
  •   PradeepN    14 年前

    创建两个action方法,分别处理以formcollection为参数的两个post。 添加两个type=button的输入,并用$.post将click事件绑定到动作方法中,其中包含该post所需的表单控件中的值。