我正在尝试将变量传递给函数,我知道有很多关于此的主题,我几乎已经尝试了所有建议,但仍然无法使其工作,这些是我的尝试:
编辑没有onclick,一切正常
var filename = file.name;
<button class="btn btn-danger delete" onclick="deleteImage(\''+filename+'\');">
导致:未捕获的SyntaxError:意外的令牌ILLEGAL
<button class="btn btn-danger delete" onclick="deleteImage("'+type+'");">
导致(提醒):'文件名'
<button class="btn btn-danger delete" onclick="deleteImage('" + filename + "');">
导致:未捕获的SyntaxError:意外的令牌ILLEGAL
<button class="btn btn-danger delete" onclick="deleteImage(" + filename + ");">
导致:未捕获的SyntaxError:意外的令牌}
这是完整代码(已修改,blueimp fileuploader)
<script id="template-download" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
<tr class="template-download fade">
{% if (file.error) { %}
<td></td>
<td class="name"><span>{%=file.name%}</span></td>
<td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
<td class="error" colspan="2"><span class="label label-important">Error</span> {%=file.error%}</td>
{% } else {
// add the image urls to the file inputbox
var filename = file.name;
var prev = $("#mFile").val();
$("#mFile").val(prev + file.name + ",");
%}
<td class="preview">{% if (file.thumbnail_url) { %}
<a href="modules/mod_stern_form_prijsopgave/upload/server/php/files/{%=file.name%}" title="{%=file.name%}" data-gallery="gallery" download="{%=file.name%}"><img src="modules/mod_stern_form_prijsopgave/upload/server/php/files/thumbnail/{%=file.name%}"></a>
{% } %}</td>
<td class="name">
<a href="modules/mod_stern_form_prijsopgave/upload/server/php/files/{%=file.name%}" title="{%=file.name%}" data-gallery="{%=file.thumbnail_url&&'gallery'%}" download="{%=file.name%}">{%=file.name%}</a>
</td>
<td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
<td colspan="2"></td>
{% } %}
<td>
<button class="btn btn-danger delete" onclick="deleteImage('" + filename + "');" data-type="{%=file.delete_type%}" data-url="{%=file.delete_url%}"{% if (file.delete_with_credentials) { %} data-xhr-fields='{"withCredentials":true}'{% } %}>
<i class="icon-trash icon-white"></i>
<span>Verwijderen</span>
</button>
</td>
</tr>
{% } %}
</script>
并按此类测试:
function deleteImage(filename) {
alert(filename);
}
我做错了什么?谢谢你的建议
答案 0 :(得分:3)
您无法从HTML访问JS变量。你必须这样做:
var filename = 'testing';
document.getElementById('testdiv')
.setAttribute('onclick', "alert('" + filename + "')");
filename = 'more testing';
答案 1 :(得分:3)
<button id="deleteOnClick" class="btn btn-danger delete">...</button>
并在javascript中:
document.getElementById("deleteOnClick").onclick = function(){deleteImage(filename);}
修改强>
如果要删除仅由原始文件名值指定的文件:
var deleteByFile = (function (filename){
return function(){deleteImage(filename);};
}(filename));
document.getElementById("deleteOnClick").onclick = deleteByFile
答案 2 :(得分:2)
尝试onclick值的模板格式:
onclick="deleteImage('{%=filename%}');"
尝试使用file.name
onclick="deleteImage('{%=file.name%}');"
答案 3 :(得分:-1)
尝试使用onclick="deleteImage(" + filename + ");"
答案 4 :(得分:-1)
你可以像var counter = 1那样设置变量;
无论何时需要,您都可以像
一样进行更新 onclick="updateCount('+counter+')"