2013-10-14 41 views
0
$(document).ready(function() { 

$("#msform").submit(function(e){ 
    e.preventDefault(); 

    $("#editjeeinde").hide(); 
    $("#loading").show(); 

    $('#msform').ajaxForm(function() { 
     $("#loading").hide(); 
     $("#done").show(); 
    }); 
}); 
}); 

它只是不服從我的表格到PHP頁面在表格發送後顯示:Ajax表單不會把我的數據

<input type="submit" name="submit" class="submit action-button" value="Verzenden" id="submit" /> 
    </div> 
    <div id="loading"> 
    <p>Bezig met verzenden...<br /><img src="loader.gif" /></p> 
    </div> 
    <div id="done"> 
    <p>Uw aanvraag is succesvol ingediend. Wij zullen deze binnen 1-2 weken verwerken en u hiervan op de hoogte brengen.</p> 
    </div> 

它只是繼續加載...任何人都看到問題?

+0

任何控制檯錯誤? –

+0

你有什麼錯誤嗎?表單是否使用Javascript提交? – Mina

+0

ajaxForm插件實際上是否和綁定submit-event一樣? $(「#editjeeinde」)。hide();'執行? – jotaen

回答

0

剛剛找到答案我自己。您不能將.submit函數與Form插件一起使用。所以我把它改爲:

$("#msform").on("submit",function(e){ 
    e.preventDefault(); 

    $("#editjeeinde").hide(); 
    $("#loading").show(); 

    $("#msform").ajaxSubmit(function() { 
     $("#loading").hide(); 
     $("#done").show(); 
    }); 
}); 

它的作用就像一個魅力。

1

我猜你正在使用jQuery表單插件。根據its documentation,此代碼:

$('#msform').ajaxForm(function() { 
    // your options 
}); 

應放置在您的submit功能之外,之前的實例。另外,您不要在代碼中提交表單。在您提交功能,您應該使用此功能: $(this).ajaxSubmit();

那麼到底,就應該是這樣的:

$(document).ready(function() { 
    $('#msform').ajaxForm({ 
     // Callback called before the form loading. 
     beforeSubmit: function() { 
      $("#editjeeinde").hide(); 
      $("#loading").show(); 
     }, 
     // Success callback of your form. 
     success: function() { 
      $("#loading").hide(); 
      $("#done").show(); 
     } 
    }); 

    // Change your submit function to load asynchronously your content. 
    $('#myFormId').submit(function() { 
     $(this).ajaxSubmit(); 
     return false; 
    }); 
}