我无法使用全名填充<input />值,只显示名字

时间:2015-05-13 17:50:03

标签: javascript html

我有以下代码,我希望它能显示&#34; John Doe&#34;或者&#34; Jane Doe&#34;,但我只得到&#34; John&#34;或&#34;简&#34;。

&#13;
&#13;
<!DOCTYPE html>
<html>
<head><title></title></head>
<body>

<select id='name'>
<option value='' selected></option>
<option value='John Doe'>John Doe</option>
<option value='Jane Doe'>Jane Doe</option>
</select><br>
<br><input type='button' value='submit' onclick='display()'>

<p id="result"></p>

<script>
function display() {
document.getElementById("result").innerHTML = "<input type='text' value="+document.getElementById("name").value+">"
}
</script>

</body>
</html> 
&#13;
&#13;
&#13;

将全名传递给输入值非常重要。 如果我改用:

document.getElementById("result").innerHTML=document.getElementById("name").value

它有效,但它不是我假装的解决方案。

2 个答案:

答案 0 :(得分:2)

您应该在引号中传递值。如果没有引号,则需要value=JohnDoe作为不同的属性。

<!DOCTYPE html>
<html>
<head><title></title></head>
<body>

<select id='name'>
<option value='' selected></option>
<option value='John Doe'>John Doe</option>
<option value='Jane Doe'>Jane Doe</option>
</select><br>
<br><input type='button' value='submit' onclick='display()'>

<p id="result"></p>

<script>
function display() {
document.getElementById("result").innerHTML = "<input type='text' value='"+document.getElementById("name").value+"'>"
}
</script>

</body>
</html> 

答案 1 :(得分:0)

你缺少引号:

<!DOCTYPE html>
<html>
<head><title></title></head>
<body>

<select id='name'>
<option value='' selected></option>
<option value='John Doe'>John Doe</option>
<option value='Jane Doe'>Jane Doe</option>
</select><br>
<br><input type='button' value='submit' onclick='display()'>

<p id="result"></p>

<script>
function display() {
document.getElementById("result").innerHTML = "<input type='text' value=\""+document.getElementById("name").value+"\">"
}
</script>

</body>
</html>