2010-10-25 41 views
0

我正在做一些事情與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點擊事件中的提交。

我希望我明確自己,你可以幫我解決這個問題。

非常感謝!

回答

1

它可能需要name屬性在其他輸入字段(只有隱藏的輸入有一個)。

+0

我需要做的是避免在執行ajax之後發送表單。有什麼辦法可以完成? – adiego73 2010-10-25 17:59:36

+1

嘗試在ajax代碼之後添加'event.preventDefault();'作爲按鈕代碼的最後一行。 – cambraca 2010-10-26 00:28:48

+0

不,它不起作用。 :'( 我這樣做: $阿賈克斯({ .... }); event.preventDefault(); – adiego73 2010-11-01 15:02:57

0

你可以定義一個onSubmit函數並檢查點擊的按鈕的值,如果它是「btnEnviar」則返回false。布埃納蘇爾特。

+0

我做了一個函數,假,我把它放在表單onsubmit事件中,在ajax加載數據後,光標進入我提交的onsubmit函數,但是表單發送信息。 – adiego73 2010-11-01 15:58:28