2016-02-19 47 views
0

我有一個表與th:字段的行,一切正常。
我需要添加新行,所以我用javascript做了它,但是當我提交表單時,這些新行並未被引用。我需要一個特殊的魔法嗎?動態生成thymeleaf輸入與JavaScript,並將其值發送到控制器不起作用

th:field="*{configuredProperties[__${iterator.index}__].propertyType}" 

謝謝!

編輯: 我創建一個行是這樣的:在此塊

function addProperty() { 
     var rows = $('#propertiesTable tbody tr'); 
     var row = rows[0]; 
     var clone = row.cloneNode(true); 

     clone.getElementsByTagName('input')[0].value = null; 
     clone.getElementsByTagName('input')[1].value = null; 
     clone.getElementsByTagName('input')[2].value = null; 

     var lastRow = rows[rows.length - 1]; 
     var newId = parseInt(lastRow.getAttribute("id")) + 1; 
     clone.id = newId; 

     var link = $(clone).find('#removeProperty')[0]; 
     link.setAttribute('onclick', 'removeProperty(' + newId + ')'); 


     var propertyType = $(clone).find('#propertyType')[0]; 
     propertyType.setAttribute('name', '*{configuredProperties[' + newId + '].propertyType'); 
     var propertyName = $(clone).find('#propertyName')[0]; 
     propertyName.setAttribute('name', '*{configuredProperties[' + newId + '].propertyName'); 
     var defaultValue = $(clone).find('#defaultValue')[0]; 
     defaultValue.setAttribute('name', '*{configuredProperties[' + newId + '].defaultValue');  

     var tbody = $('#propertiesTable tbody')[0]; 
     tbody.appendChild(clone); 
} 
+0

你可以發佈你的JavaScript代碼嗎?添加該行的那個。 – Aboodz

+0

嗨@Aboodz,我把它添加到問題中。 – orlandoMG

回答

1

你需要通過構建領域,像這樣

提供你的bean場

var propertyType = $(clone).find('#propertyType')[0]; 
    propertyType.setAttribute('name', '*{configuredProperties[' + newId + '].propertyType'); 
    var propertyName = $(clone).find('#propertyName')[0]; 
    propertyName.setAttribute('name', '*{configuredProperties[' + newId + '].propertyName'); 
    var defaultValue = $(clone).find('#defaultValue')[0]; 
    defaultValue.setAttribute('name', '*{configuredProperties[' + newId + '].defaultValue'); 

的名字

var propertyType = $(clone).find('#propertyType')[0]; 
    propertyType.setAttribute('name', 'configuredProperties[' + newId + '].propertyType'); 
    var propertyName = $(clone).find('#propertyName')[0]; 
    propertyName.setAttribute('name', 'configuredProperties[' + newId + '].propertyName'); 
    var defaultValue = $(clone).find('#defaultValue')[0]; 
    defaultValue.setAttribute('name', 'configuredProperties[' + newId + '].defaultValue'); 
相關問題