<body>
<input type="text" />
<select>
<option selected>+</option>
<option>-</option>
<option>*</option>
<option>/</option>
</select>
<input type="text" />
<div id="ss"></div>
<script>
var inp=document.getElementsByTagName("input");
var opt=document.getElementsByTagName("option");
var ss=document.getElementById("ss");
inp[1].onblur=function(){
for(var i=0;i<opt.length;i++)
if(opt[i].selected)var t=i;
var first=parseInt(inp[0].value);
var second=parseInt(inp[1].value);
switch(t){
case '-':document.write(first-second);
case '*':document.write(first*second);
case '/':document.write(first/second);
default:document.write("dd");
}
}
</script>
</body>奇怪的是在上例中document.write()方法会清理当前页面Html值,用document.write重新写一个Html页面晕啊我又测试一个代码<body>df<script>document.write("dd");</script></body>
输出结果为dfdd,并没有重写啊,这一会重写,一会又不重写
怎么回事啊
<input type="text" />
<select>
<option selected>+</option>
<option>-</option>
<option>*</option>
<option>/</option>
</select>
<input type="text" />
<div id="ss"></div>
<script>
var inp=document.getElementsByTagName("input");
var opt=document.getElementsByTagName("option");
var ss=document.getElementById("ss");
inp[1].onblur=function(){
for(var i=0;i<opt.length;i++)
if(opt[i].selected)var t=i;
var first=parseInt(inp[0].value);
var second=parseInt(inp[1].value);
switch(t){
case '-':document.write(first-second);
case '*':document.write(first*second);
case '/':document.write(first/second);
default:document.write("dd");
}
}
</script>
</body>奇怪的是在上例中document.write()方法会清理当前页面Html值,用document.write重新写一个Html页面晕啊我又测试一个代码<body>df<script>document.write("dd");</script></body>
输出结果为dfdd,并没有重写啊,这一会重写,一会又不重写
怎么回事啊
document.getElementsByTagName("select")[0].value
应该是他 。
也应该用document.getElementById("ss").innerHTML = result;
你理解错了,我没打算修改ss值,删了也行
我的问题是docuemnt.write为什么有时候会创新新页面写值,有时候在原页面写值?你可以考虑到这段代码执行下(删除了ss,修改了switch default
<body>
<input type="text" />
<select>
<option selected>+</option>
<option>-</option>
<option>*</option>
<option>/</option>
</select>
<input type="text" />
<script>
var inp=document.getElementsByTagName("input");
var opt=document.getElementsByTagName("option");
inp[1].onblur=function(){
for(var i=0;i<opt.length;i++)
if(opt[i].selected)var t=i;
var first=parseInt(inp[0].value);
var second=parseInt(inp[1].value);
switch(t){
case '-':document.write(first-second);
case '*':document.write(first*second);
case '/':document.write(first/second);
default:document.write(first+second);
}
}
</script>
</body>
因为document.write()会生成一个文本流,
生成的这个文本流显示在页面上的时候,已经不是你以前的那个页面了,必然会刷新 。
你可以考虑innnerHTML 改变div 。
明白了,谢谢你拉,高手,分给你
innerHTML我会呵呵
如果有时间帮我解决下这个问题,昨天在csdn问了,没人回答
http://topic.csdn.net/u/20110618/21/3307942b-a2ba-48c7-a298-82c1d5792eaa.html?20894