2014-02-28 33 views
0

我有一個自定義函數,我正嘗試在JQuery Mobile混合應用程序中使用。當提交表單時,而不是默認處理程序,我希望我的函數被觸發。表單提交JQuery自定義函數 - 不工作

我有以下形式:

<form id="frmFillup"> 
     <label for="odReading">Total Odometer Reading:</label> 
     <input type="number" data-clear-btn="true" 
      name="odReading" id="odReading" value="1"> 

     <label for="fuelReading">Total Fuel:</label> 
     <input type="number" data-clear-btn="true" 
      name="fuelReading" id="fuelReading" value="1"> 

     <label for="totalPrice">Total Price:</label> 
     <input type="number" data-clear-btn="true" 
      name="totalPrice" id="totalPrice" value="1"> 

     <label for="stationAddress">Station address:</label> 
     <textarea 
      name="stationAddress" id="stationAddress">1 main st</textarea> 

     <button data-theme="a" name="saveFillup" id="saveFillup">Save Fillup</button> 
    </form> 

,我在我的HTML頁面的頂部安裝一個監聽器:

$('#frmFillup').submit(
     function (e) { 
       e.preventDefault(); 
       e.stopImmediatePropagation(); 
       alert('Saving!!'); 
       saveFillup(); 
     } 
    ); 

但是,它看起來像默認提交功能仍然是射擊,和我的自定義函數永遠不會被解僱(也不會在我的自定義事件偵聽器中獲得警報框)。 Chrome開發工具不會在控制檯中顯示任何javascript錯誤 - 它看起來就像沒有綁定提交處理程序。任何&所有幫助非常感謝!

完整的代碼是在github在https://github.com/cristoslc/petrolog/blob/master/www/index.html

回答

4

你的事件可能不會附加到按鈕。試試裏面的文件準備

$(document).ready(function(){ 
    $('#frmFillup').submit(function (e) { 
     e.preventDefault(); 
     alert('Saving!!'); 
     saveFillup(); 
    }); 
}); 

按鈕的默認類型不是「提交」在IE 7及以下包裝代碼。所以你應該考慮在按鈕中添加type =「submit」,以確保它在所有瀏覽器中都能正常工作。

<button type="submit" data-theme="a" name="saveFillup" id="saveFillup">Save Fillup</button> 
+0

如果您使用按鈕但不使用type屬性,則默認值爲「submit」。 –

+1

@HolgerThiebosch不適用於IE7及以下版本。 – rakhi4110

+0

我在IE9中檢查過。我的錯。 ;-) –

0

嘗試用這種

$('#saveFillup').click(function() { 
    //your code here 
}); 
0

只需添加:

$(document).ready(function(){ 
    $('#frmFillup').submit(
     function (e) { 
      e.preventDefault(); 
      e.stopImmediatePropagation(); 
      console.log('submit catched: ', e); 
     } 
    ); 
}); 

我測試過它,IE,FF,鉻 當按鈕沒有一個類型=其默認提交。這樣的作品。表單獲取提交事件。