2015-10-11 48 views
0

下面給出的是一小部分代碼,它通過html動態加載表格行。表格行有一個文本框,它從變量'currentValue'中獲取它的值。但是如果'currentValue'的內容之間有空格,則只顯示第一個單詞。文本框中顯示空格後沒有任何內容(在下面的代碼中,只顯示'hello')。除了通過單獨的javascript查詢設置值之外,請提出一些解決方案。關於通過javascript加載html,textbox值不考慮空間

currentValue = 'hello world'; 

    tr.append("<td><input id="+ textBoxId1 + " class='MyTextBox1' type='text' name='parameter_label' value="+ currentValue +" maxlength="+stringMaxLength+"></input></td>"); 

回答

3

想想你正在製作的HTML。假設currentValue"something here"

<td><input id=someid class='MyTextBox1' type='text' name='parameter_label' value=something here maxlength=40</input></td> 
<!-- Notice ---------------------------------------------------------------------^^^^^^^^^^^^^^ --> 

現在,應該是很明顯的問題是什麼(還有其他兩個問題):你不必繞value屬性值引號。只有當該值沒有空格(或其他幾個字符)時纔有效。 More in the specification.

所以我們將其加入:

tr.append("<td><input id="+ textBoxId1 + " class='MyTextBox1' type='text' name='parameter_label' value='"+ currentValue +"' maxlength="+stringMaxLength+"</input></td>"); 
// Note -----------------------------------------------------------------------------------------------^------------------^ 

這假定currentValue絕不會在它'。如果可能,你可以使用"代替:

tr.append("<td><input id="+ textBoxId1 + " class='MyTextBox1' type='text' name='parameter_label' value=\""+ currentValue +"\" maxlength="+stringMaxLength+"</input></td>"); 
// Note -----------------------------------------------------------------------------------------------^^------------------^^ 

假定currentValue將永遠不會有"它,或者你已經正確坦然currentValue(處理轉向<&成實體,則必須爲所有屬性,並且在這種情況下也將"轉換爲&quot;)。

另外兩個問題是:

  1. 你是你<input ...>元素缺少結束>

  2. 刪除</input>input元素是無效元素,他們從來沒有結束標籤。

所以:

tr.append("<td><input id="+ textBoxId1 + " class='MyTextBox1' type='text' name='parameter_label' value='"+ currentValue +"' maxlength="+stringMaxLength+"></td>");