我使用的是TinyMCE插件,希望能够在编辑器中上传图片。我拥有一切,我浏览图像并选择它,但它在尝试上传之前,我得到 未捕获的SyntaxError:意外的令牌}
我已按照以下方式设置我的HTML:
<div id="htmlEdit"></div>
<form id="editorUpload"
target="hiddenFrame"
method="post"
enctype="multipart/form-data"
style="width:0px;height:0;overflow:hidden">
<input type="hidden" id="dzToken" name="dzToken">
<input type="hidden" id="iField" name="iField">
<input name="image" type="file" onchange="$('#editorUpload').submit();this.value='';">
</form>
<iframe id="hiddenFrame"></iframe>
并像这样初始化编辑器
tinymce.init({
selector:"div#htmlEdit",
theme: "modern",
theme_advanced_buttons3_add: "styleprops",
plugins: [
"advlist autolink lists link charmap print preview anchor",
"searchreplace visualblocks code fullscreen",
"insertdatetime media table contextmenu paste image textcolor colorpicker"
],
file_browser_callback: function(field_name, url, type, win) {
if( type==='image' ){
var tkn=getToken();
$("#editorUpload").attr("action", "cgi/cmsUpload.exe");
$("#dzToken").val(tkn);
$('#editorUpload input').click();
}else{
alertify.alert("images only please");
}
},
height: 300,
width: 928,
force_br_newlines: false,
force_p_newlines: false,
forced_root_block: "",
toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | print preview media | forecolor backcolor emoticons"
});
我最大的问题是意外令牌} 错误表明它位于主HTML页面的第2行,所以我无法弄清楚它在哪里打破了,我的代码或TinyMCE.js文件。
如果我尝试使用Firefox控制台,则错误是: SyntaxError:期望表达式,得到脚本结束
答案 0 :(得分:0)
问题在于这一行(感谢FireBug)
<input name="image" type="file" onchange="$('#editorUpload').submit();this.value='';">
我不得不将其改为
<input name="image" type="file" onchange='$("#editorUpload").submit();this.value="";'>
我刚换了单引号和双引号。 出于某种原因,价值=&#39;&#39;使剧本失败。