2016-09-29 106 views
-1

陣列我有這樣的功能:檢索在輸入字段

function AddRowToForm(row){ 
    $("#orderedProductsTblBody tr").each(function(){ 
    // find the first td in the row 
    arr.push($(this).find("td:first").text()); 
    }); 
    for (i=0;i<arr.length;i++) 
    // display the value in input field 
document.getElementById("message").innerHTML = (arr[i] + "<br >"); 
}); 
} 

的問題是,我要檢索的輸入字段中的數組轉換成一種形式。輸入字段是最後一個(id =「message」)

fieldset class="pure-group"> 
    <label for="date">Data: </label> 
    <input id="date" name="date" type="text"/> 
</fieldset> 

<fieldset class="pure-group"> 
    <label for="time">Ora: </label> 
    <input id="time" name="time" /> 
</fieldset> 

<fieldset class="pure-group"> 
    <label for="pax">Numero di Persone: </label> 
    <input id="pax" name="pax" /> 
</fieldset> 

<fieldset class="pure-group"> 
    <label for="message">Esperienze: </label> 
    <input id="message" name="message" rows="5"></input> 
</fieldset> 

問題是該函數不起作用。我嘗試過使用document.write(而不是innerHTML,它可以工作,但是它取消了所有的事情,任何幫助?提前謝謝你!:

+0

所以你想要的輸出是什麼?輸入沒有innerHTML,輸入的行是? – epascarello

+0

T ry用'value'替換'innerHTML',因爲'message'是一個輸入。 – Santi

+0

@epascarello我想要表的第一列的文本值 –

回答

0

因此,你有兩個問題:你設置輸入文本的值。也沒有追加,你只是壓倒一切的價值。對於一個textarea,你需要使用\n新線。

$("#orderedProductsTblBody tr").each(function(){ 
    arr.push($(this).find("td:first").text()); 
}); 
for (var i=0;i<arr.length;i++) 
    // display the value in input field 
    document.getElementById("message").value += arr[i] + "\n"); 
}); 

現在我會怎樣做呢?只要使用加入。

document.getElementById("message").value = arr.join("\n"); 
+0

謝謝!它的工作很棒!你節省了我的一天 –