日期:2014-05-16  浏览次数:20572 次

关于AJAX输出JAVASCRIPT控制IMG控件的奇怪问题 - Web 开发 / Ajax
以下HTML是由AJAX返回的,效果是用户在选择上传文件的时候有预览效果。
<input type="file" name="file17" size="20" onKeyDown='return false;' onChange='img17.src=this.value'>
<img src="" name="img17" size="20">

奇怪的问题出现了
这段HTML和JAVASCRIPT在用AJAX返回后,选择图片,预览图不会出现,图片控制的地址不会做任何改变;
但如果把onChange事件改为:img17.src='"1"+this.value',图片地址就会改变,但因为地址前多了一个1,变成:1http.... 所以一样无法显示, 如果不连接"1",面是连接一个空字符串,图片控件也不会做任何改变。

如果只把返回的HTML保存成文件,可以证明这段JAVASCRIPT没有问题。

------解决方案--------------------
试试这样
HTML code

<input type= "file" name= "file17" size= "20" onKeyDown= 'return false;'   onChange= 'document.getElementById("img17").src=this.value'> 
<img src= "" name= "img17" id = "img17" size= "20">

------解决方案--------------------
onChange条件是文本改变 并且失去焦点
建议更改如下
onpropertychange='img17.src=this.value'