我是JS的新手,还在玩基础知识。选择完成后,我在<div>
的同一页面上显示结果时遇到问题。由于某种原因,结果显示在新页面上。
<script>
function changeFunc(choice){
var x = choice.value;
document.write("You choose " + x + " option");
}
</script>
<div id="test">
<h2>Choose one</h2>
<select onchange="changeFunc(this)">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select>
</div>
答案 0 :(得分:0)
不要使用document.write。相反,在html中创建一个div并将结果写入该div。
HTML:
<div id='result'></div>
使用Javascript:
function changeFunc(choice)
{
var x = choice.value;
document.getElementById("result").innerHTML = "You choose " + x + " option";
}
答案 1 :(得分:0)
而不是使用document.write使用node.innerHTML..like this
<head>
<script>
function changeFunc(choice){
var x = choice.value;
//document.write("You choose " + x + " option");
document.getElementById("result").innerHTML = "You choose " + x + " option";
}
</script>
</head>
<body>
<div id="test">
<h2>Choose one</h2>
<select onchange="changeFunc(this)">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select>
</div>
<div id="result"></div>
write()方法主要用于测试:如果在HTML文档完全加载后使用它,它将删除所有现有的HTML。
注意:当此方法不用于测试时,它通常用于将一些文本写入document.open()方法打开的输出流。
答案 2 :(得分:0)
你可以定义一个新的DIV,然后通过innerHTML更新它。
这是一个工作示例:
var displayDiv = document.getElementById('displayResult');
changeFunc = function(choice){
var x = choice.value;
displayDiv.innerHTML = "you choose" + x;
}
&#13;
<div id="test">
<h2>Choose one</h2>
<select onchange="changeFunc(this)">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select>
</div>
<div id="displayResult"></div>
&#13;