2015-06-26 137 views
2

我有一個代碼如下。如果頁面中有一個表單工作正常,但如果我想要使用更多的表單,我需要定義如果form1提交或如果form2提交,該怎麼做。我怎樣才能做到這一點?我嘗試了一些方法,但不工作。jquery按窗體ID選擇

$(function() { 

$("input,textarea").jqBootstrapValidation({ 
    preventSubmit: true, 
    submitError: function($form, event, errors) { 
     // additional error messages or events 
    }, 
    submitSuccess: function($form, event) { 
     event.preventDefault(); // prevent default submit behaviour 
     // get values from FORM 
     var name = $("input#name").val(); 
     var email = $("input#email").val(); 
     var phone = $("input#phone").val(); 
     var message = $("textarea#message").val(); 
     var firstName = name; // For Success/Failure Message 
     // Check for white space in name for Success/Fail message 
     if (firstName.indexOf(' ') >= 0) { 
      firstName = name.split(' ').slice(0, -1).join(' '); 
     } 
     $.ajax({ 
      url: "././mail/contact_me.php", 
      type: "POST", 
      data: { 
       name: name, 
       phone: phone, 
       email: email, 
       message: message 
      }, 
      cache: false, 
      success: function() { 
       // Success message 
       $('#success').html("<div class='alert alert-success'>"); 
       $('#success > .alert-success').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;") 
        .append("</button>"); 
       $('#success > .alert-success') 
        .append("<strong>Your message has been sent. </strong>"); 
       $('#success > .alert-success') 
        .append('</div>'); 

       //clear all fields 
       $('#contactForm').trigger("reset"); 
      }, 
      error: function() { 
       // Fail message 
       $('#success').html("<div class='alert alert-danger'>"); 
       $('#success > .alert-danger').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;") 
        .append("</button>"); 
       $('#success > .alert-danger').append("<strong>Sorry " + firstName + ", it seems that my mail server is not responding. Please try again later!"); 
       $('#success > .alert-danger').append('</div>'); 
       //clear all fields 
       $('#contactForm').trigger("reset"); 
      }, 
     }) 
    }, 
    filter: function() { 
     return $(this).is(":visible"); 
    }, 
}); 

$("a[data-toggle=\"tab\"]").click(function(e) { 
    e.preventDefault(); 
    $(this).tab("show"); 
}); 

});

+0

你可以發表你曾嘗試過嗎? – Scott

+0

我嘗試獲取表單ID,並簡單地選擇一個if語句。 – SpeAroX

回答

0

我不太明白的問題,但如果你問如何捕捉到提交的形式可以使用:

$('#form1').submit(function { 
    $($(this).find("input,textarea")).jqBootstrapValidation({ 
    preventSubmit: true, 
    submitError: function($form, event, errors) { 
    // additional error messages or events 
    }, 
    submitSuccess: function($form, event) { 
     event.preventDefault(); // prevent default submit behaviour 
     // get values from FORM 
     var name = $("input#name").val(); 
     var email = $("input#email").val(); 
     var phone = $("input#phone").val(); 
     var message = $("textarea#message").val(); 
     var firstName = name; // For Success/Failure Message 
    // Check for white space in name for Success/Fail message 
    [...] 
}) 

$('#form2').submit(function { 
    [...code...] 
}) 

如果你能澄清究竟是什麼你想要做的,我們可能會給你一個更好的答案。

+0

是的,這是我想要的,但我嘗試了一些方法來插入,但不會工作。 :/ – SpeAroX

+0

檢查我的編輯@SpeAroX –

+0

我檢查。現在工作,但實時錯誤檢查不是。 我需要在此之後趕上:submitSuccess:function($ form,event){ – SpeAroX