您好我正在尝试使用jQuery使用Ajax创建一个带onchange函数的输入,这是输入:
<input type="file" class="hidden-print btn-sm" id="btn1"
onchange="document.getElementById('blah').src = window.URL.createObjectURL(this.files[0])">
编辑:
<img id="blah" alt="Image 1" class="img-responsive" />
在我的js中我有这个:
var blah = 'blah';
html += '<input type="file" class="hidden-print btn-sm" id="btn1" onchange="document.getElementById('+ blah +').src = window.URL.createObjectURL(this.files[0])">';
我也尝试用
getElementById(' + "blah" + ') rest of the code...
但我收到此控制台错误:
无法设置属性&#39; src&#39;为null。我知道这是因为(&#39; blah&#39;)问题,因为在HTML代码中工作正常。
答案 0 :(得分:5)
当变量值附加到字符串后,您需要在变量值周围加上引号。要做到这一点,你需要转义字符串中的引号,以便它们不被解释为分隔字符串,为此你可以使用\'
。试试这个:
html += '<input type="file" class="hidden-print btn-sm" id="btn1" onchange="document.getElementById(\''+ blah + '\').src = window.URL.createObjectURL(this.files[0])">';