2017-02-22 77 views
0

在我目前的春天的項目,我有這個HTML表單視圖:形式包括其字段

<form role="form" class="form" id="form" method="post" action="/loja/idiomas/set" enctype="multipart/form-data"> 
<table> 
    <tr> 
    <td> 
     <select class="form-control" id="left" multiple="multiple" size="20">...</select> 
    </td> 
    <td> 
     <button class="btn btn-default" id="btn_left">&lt;&lt;</button> 
     <br /> 
     <button class="btn btn-default" id="btn_right">&gt;&gt;</button> 
    </td> 
    <td> 
     <select class="form-control" id="right" name="listaDeIdiomas" multiple="multiple" size="20"></select> 
    </td> 
    </tr> 
</table> 
</form> 

其中它是由這個jQuery代碼提交:

$(document).ready(function() { 
    $('.summernote').summernote({height: 360, minHeight: null, maxHeight: null}); 

    $('#submit').on('click', function(){ 
    var $form = $('form.form'), url = $form.attr("action"); 
    var posting = $.post(url, $form.serialize()); 
    posting.done(function(data){ 
     if(data == "") { 
     $("#alerta_sucesso").css("display", "block"); 
     } else { 
     $("#alerta_erro").find("#texto").text(data); 
     $("#alerta_erro").css("display", "block"); 
     } 
    }); 
    }); 
}); 

最初,選擇#left充滿了數據,用戶可以發送到選擇#right。我檢查,這是真的工作(和選項它被放置在選擇#right正確)。

但是當我提交表單時,沒有數據發送到服務器 - 我通過瀏覽器的開發人員工具進行檢查,沒有參數正在轉發。

任何人都可以在這裏出什麼問題? jquery代碼可以與其他表單一起使用,除了這個。

+0

我沒有看到任何帶有「submit」標識的按鈕。您在JQuery代碼中引用$('#submit'),其中的元素是ID提交? –

+0

您的提交按鈕在哪裏? –

+0

@AnkitVadi @SagarV該按鈕放置在表單標籤的外部,它的ID爲'#submit'(它是外部的,因爲表單標籤是我用thymeleaf創建的自定義標籤)。 –

回答

0

原來,從第二項如果選擇他們只選擇被髮送到服務器。我設法使用此代碼自動選擇它們:

$(document).ready(function() { 
$('#btn_left').click(function() { 
    return !$('#left option:selected').remove().appendTo('#right'); 
}); 
$('#btn_right').click(function() { 
    return !$('#right option:selected').remove().appendTo('#left'); 
}); 
}); 
0

您試圖獲取ID爲「submit」的元素的點擊功能。嘗試使用類似

$("#target").submit(function(event) { 
    alert("Handler for .submit() called."); 
    event.preventDefault(); 
}); 

在「目標」是你的按鈕ID

+0

id'#submit'它是觸發動作的按鈕(它放在表單標籤之外,因爲這個標籤是我用thymeleaf創建的自定義標籤)。 –