在空格中设置新字段中的值后丢失文本

use*_*440 5 html javascript jquery

使用Javascript创建新字段时,我遇到了一个奇怪的问题.我有一个按钮,当单击时,将创建两个文本字段.我给那些文本字段一个字符串作为值.但是,如果我给它一个没有空格的字符串,它只能正常工作.如果我的字符串包含空格,则它使值等于空格出现之前的文本.

function nameField() {
  $('#nameArea').html("<br/>First Name:<input type='text' id='fnField' value=" + $('#firstName').text() + ">Last Name:<input type='text' id='lnField' value=" + $('#lastName').text() + "></input><button id='bName' onclick='updateName(fnField.value, lnField.value)'>Save Changes</button>");
  $('#firstName').html("");
  $('#lastName').html(""); 
}
Run Code Online (Sandbox Code Playgroud)

因此,例如,如果firstName值为David E,则它当前仅将David字段作为值放入.但是,我已使用警报并且可以确认$('#firstName').text();确实包含完整David E.如何确保空格后的文本不会被删除?

Ror*_*san 10

问题是因为你周围没有任何字符串分隔符value.试试这个:

$('#nameArea').html('<br/>First Name:<input type="text" id="fnField" value="' + $('#firstName').text() + '">Last Name:<input type="text" id="lnField" value="' + $('#lastName').text() + '"></input><button id="bName" onclick="updateName(fnField.value, lnField.value)">Save Changes</button>');
Run Code Online (Sandbox Code Playgroud)

请注意属性"的值onclick.