2012-07-10 49 views
1

我想在發送到服務器之前驗證我的表單。我嘗試了幾個J/S插件進行常規驗證,但沒有一個可以工作。

我試過尋找getJSON驗證方法與jquerymobile,但沒有看到任何相關的。正在使用$.getJSON正確的方法?

這裏是一個小提琴http://jsfiddle.net/Kimbley/kMsXK/2/

感謝:d

代碼這裏:

function mAddBusiness() { 
     $.getJSON("API.php", { 
      command: "addBusiness", 
      bsnName: $("#mBsnName").attr("value"), 
      bsnCity: $("#mBsnCity").attr("value"), 
      bsnAddress: $("#mBsnAddress").attr("value"), 
      bsnMenu: $("#mBsnMenu").attr("value"), 
      bsnLat: bsnLat, 
      bsnLong: bsnLong 
     }, 
      function() { 
      $("#mBsnName").attr("value", ""); 
      $("#mBsnCity").attr("value", ""); 
      $("#mBsnAddress").attr("value", ""); 
      $("#mBsnMenu").attr("value", ""); 
      alert("Business was added successfully "); 
     } 
      ); 
    } 
+0

要驗證什麼? – Kishore 2012-07-10 20:23:06

+0

賈斯珀已經回答了我覺得很愚蠢的問題:) – Adam 2012-07-10 20:37:30

回答

0

裏面你mAddBusiness()功能,你可以發送AJAX請求之前就開始驗證。喜歡的東西:

function mAddBusiness() { 
    if ($("#mBsnName").val() !== '') { 
     $.getJSON("API.php", { 
      command: "addBusiness", 
      bsnName: $("#mBsnName").val(), 
      bsnCity: $("#mBsnCity").val(), 
      bsnAddress: $("#mBsnAddress").val(), 
      bsnMenu: $("#mBsnMenu").val(), 
      bsnLat: bsnLat, 
      bsnLong: bsnLong 
      }, 
      function() { 
       $("#mBsnName").val(""); 
       $("#mBsnCity").val(""); 
       $("#mBsnAddress").val(""); 
       $("#mBsnMenu").val(""); 
       alert("Business was added successfully "); 
      } 
     ); 
    } else { 
     alert('Please enter a business name.'); 
    } 
} 

注意,您必須將data-ajax="false"屬性添加到有問題的<form>標記,以便jQuery Mobile的不嘗試提交表單本身。

此外,請注意,$('input').attr('value')不會返回當前的輸入值,它會在用戶有機會輸入任何內容之前返回初始值。要獲取表單輸入的當前值,請使用.val()http://api.jquery.com/val

+0

謝謝賈斯珀完美的作品:) – Adam 2012-07-10 20:31:30

+0

歡迎您。 – Jasper 2012-07-10 20:34:32

相關問題