我正在做一些事情與jQuery AJAX函數,我有一個問題,當我把一個窗體中的HTML。
簡而言之:我有一個由ajax控制的虛擬表單,當它提交時,ajax函數完成下面的輸入。 ajax提供的數據包含在窗體標籤中,該標籤在點擊窗體外部的按鈕時提交。我這樣做是因爲我需要以兩種不同的方式發送相同的數據。
代碼:
HTML帶有表單的頁面中的ajax請求問題。 jQuery的
<input type="button" value="Exportar a Excel" id="xlsexport">
<form action="#" method="post" name="formxls" id="formxls">
<div class="row">
<input type="hidden" id="xls" name="xls" value="">
<div class="item"><span class="negro">Nombre:</span></div>
<div class="field"><input class="input" id="nombreProv" type="text" /></div>
<div class="item"><span class="negro">CUIT:</span></div>
<div class="field"><input class="input" id="cuitProv" type="text" /></div>
<div class="field"><input type="image" id="btnEnviar" value="Enviar Prov." src="images/botones/mini_send.png" style="margin-top: -1px; margin-left: 8px;" ></div>
</div>
</form>
... Some inputs below ...
的jQuery:
$('document').ready(function(){
$('#formxls').keypress(function(e){ // it prevents the form will send by pressing enter
if(e == 13){
return false;
}
});
$('#xlsexport').click(function(){
$('#xls').val('true');
$('#formxls').submit();
});
$('input#btnEnviar').click(function(){
if($('#xls').val() == 'true') $('#xls').val('');
$('div#selectData').empty().removeAttr('style');
$.ajax({
// ajax request code
});
的問題是:
當我提交過BUTTOM 「xlsexport」 的形式,一切很好,但是,當我通過ajax buttom提交表單時(「btnE nviar「),它做它應該做的事情,然後發送表單,所以我失去了ajax加載的所有數據。
我該如何解決?還有其他方法可以做到這一點?這是一個沒有意義的行爲(至少對我來說),因爲我沒有其他提交比在xlsexport點擊事件中的提交。
我希望我明確自己,你可以幫我解決這個問題。
非常感謝!
我需要做的是避免在執行ajax之後發送表單。有什麼辦法可以完成? – adiego73 2010-10-25 17:59:36
嘗試在ajax代碼之後添加'event.preventDefault();'作爲按鈕代碼的最後一行。 – cambraca 2010-10-26 00:28:48
不,它不起作用。 :'( 我這樣做: $阿賈克斯({ .... }); event.preventDefault(); – adiego73 2010-11-01 15:02:57