2016-06-10 20 views
0

這是我第一次使用JQuery(jquery-3.0.0.min.js)和Javascript開發。
我正在創建一個通過Web API連接到數據庫的簡單Web窗體。
表單包含一些輸入文字標籤和兩個選擇標籤。 我使用$.ajax方法發佈表單數據。
當我提交表單時,文本框中的值被正確地發佈到服務器,但所選值始終爲空。 這裏是一塊的HTML代碼:

<form name="modulo" id="modulo"> 
       .... 
       <div class="field"> 
        <label id="mailLbl" for="mail">Mail:</label> 
        <input id="mail" type="text" name="mail" required="required" /> 
       </div> 

       <div class="field"> 
        <label id="CDselectLBL" for="CDselect">Centro di Costo</label> 
        <select id="CDselect" class="DropDownList" name="CDselect"></select> 

       </div> 
       <div class="field"> 
        <label id="FINALITAselectLBL" for="FINALITAselect">Finalità</label> 
        <select id="FINALITAselect" class="DropDownList" name="FINALITAselect"></select> 
       </div> 

       <div class="field"> 
        <label id="rif_studio_cliLbl" for="rif_studio_cli">Riferimento Studio Clinico:</label> 
        <input id="rif_studio_cli" type="text" name="rif_studio_cli" /> 
       </div> </form> 

..和這裏是$.Ajax呼叫:

$('#modulo').submit(function (event) { 
     event.preventDefault(); 
     $.ajax({ 
      type: 'POST', 
      url: 'api/richiestes', // the local url where I want to POST 
      contentType: 'application/x-www-form-urlencoded; charset=utf-8', 
      data: $('#modulo').serialize(), 
     }) 
      // using the done promise callback 
      .done(function (data) { 
       console.log(data); 

          }); 
    }); 

這裏是(從鉻DevTools複製)的形式的數據:

mail:[email protected]
CD選擇:10A0003 - GESTIONE FINANZIARIA
FINALITAselect:Studio clinico approvato噠Comitato Etico
rif_studio_cli:sfvsdfv

這裏是請求數據的預覽被髮送(也來自鉻DevTools複製):

郵件: 「[email protected]
CDC:空
finalità:空
rif_studio_cli: 「sfvsdfv」

你能幫我理解我的代碼有什麼問題嗎?
在此先感謝您的時間和善良

+0

兩個選擇標記的選項值來自同一個數據庫,通過Web API和$ .Ajax GET – Mauro

+0

從[jQuery.serialize()](http://api.jquery.com/serialize/)文檔中,只有「成功「的控制系列化。只有選擇了選項,選擇控件纔會成功。也許這是你的情況? –

+0

也許你也可以在發送提交之前附上你的HTML快照,這樣我們就可以檢查你的表單控件的狀態。 –

回答

0

這是因爲您沒有選擇控件中的任何選項元素。您需要添加選項,然後選擇一個。例如

我爲您創建了一個plunker代碼。

https://plnkr.co/edit/L5SyOdU8hnEKdrKitmcL?p=preview

$(document).ready(function(){ 
$('form').submit(function (event) { 
    event.preventDefault(); 
    console.log($('#modulo').serialize()); 
}); 
});  

HTML是對上述意見提供由你,但我已刪除的輸入框,以簡化頁面。

希望它可以幫助你。

+0

我給選擇標籤加上這樣的選項: $。AJAX({ 類型: 「獲取」, URL: 「API/vCDCs」, 的contentType: 「應用程序/ JSON;字符集= UTF-8」, 數據類型: 「JSON」, //數據:查詢, 成功:function(result){.each(result,function(i){(「#CDselect」)。append($(「」).val(result [i] .DescrizioneCentroDiCosto).text(result [I] .DescrizioneCentroDiCosto)); });} , 失敗:函數(){ 警報( 「錯誤」);} , 完成:函數(){} }); – Mauro

+0

我能夠得到下拉列表的值,更新答案的細節。 – Deep

相關問題