php 表单嵌套上传,thinkphp引入editor.md编辑器后,上传图片需要如何设置,(同时存在两个from表单)...

我在视图文件设置了它的参数,Admin/Goods/upload_one是调用上传的操作

$(function() {

var editor = editormd("editormd", {

width : "100%",

autoHeight : true,

path : "__ADMIN__/editor/lib/",

htmlDecode : "style,script,iframe",

tex : true,

emoji : true,

taskList : true,

flowChart : true,

sequenceDiagram : true,

imageUpload : true,

imageFormats : ["jpg", "jpeg", "gif", "png", "bmp", "webp"],

imageUploadURL : "{:U('Admin/Goods/upload_one')}",

});

});

public function upload_one($set=null){

$upload = new \Think\Upload();// 实例化上传类

$upload->maxSize = 3145728 ;// 设置附件上传大小

$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型

$upload->rootPath = './Uploads/'; // 设置附件上传根目录

// 上传单个文件

$info = $upload->uploadOne($_FILES['img']);

if(!$info) {// 上传错误提示错误信息

$this->error($upload->getError());

}else{// 上传成功 获取上传文件信息

return $info['savepath'].$info['savename'];

}

}

我在点击上传图片按钮的时候,它会自动引入一个Image-dialog.js插件,发现里面嵌套一个from表单,它会把嵌套在外的from表单也提交上去了,而且图片也无法上传成功,这需要如何解决,每次都提示不是一个json

bVV2wR?w=1891&h=700

/*!

* Image (upload) dialog plugin for Editor.md

*

* @file image-dialog.js

* @author pandao

* @version 1.3.4

* @updateTime 2015-06-09

* {@link https://github.com/pandao/editor.md}

* @license MIT

*/

(function() {

var factory = function (exports) {

var pluginName = "image-dialog";

exports.fn.imageDialog = function() {

var _this = this;

var cm = this.cm;

var lang = this.lang;

var editor = this.editor;

var settings = this.settings;

var cursor = cm.getCursor();

var selection = cm.getSelection();

var imageLang = lang.dialog.image;

var classPrefix = this.classPrefix;

var iframeName = classPrefix + "image-iframe";

var dialogName = classPrefix + pluginName, dialog;

cm.focus();

var loading = function(show) {

var _loading = dialog.find("." + classPrefix + "dialog-mask");

_loading[(show) ? "show" : "hide"]();

};

if (editor.find("." + dialogName).length < 1)

{

var guid = (new Date).getTime();

var action = settings.imageUploadURL + (settings.imageUploadURL.indexOf("?") >= 0 ? "&" : "?") + "guid=" + guid;

if (settings.crossDomainUpload)

{

action += "&callback=" + settings.uploadCallbackURL + "&dialog_id=editormd-image-dialog-" + guid;

}

var dialogContent = ( (settings.imageUpload) ? "

" : "
" ) +

( (settings.imageUpload) ? "" : "" ) +

"" + imageLang.url + "" +

"" + (function(){

return (settings.imageUpload) ? "

" +

"" +

"" +

"

" : "";

})() +

"
" +

"" + imageLang.alt + "" +

"" +

"
" +

"" + imageLang.link + "" +

"" +

"
" +

( (settings.imageUpload) ? "" : "

");

//var imageFooterHTML = "" + imageLang.managerButton + "";

dialog = this.createDialog({

title : imageLang.title,

width : (settings.imageUpload) ? 465 : 380,

height : 254,

name : dialogName,

content : dialogContent,

mask : settings.dialogShowMask,

drag : settings.dialogDraggable,

lockScreen : settings.dialogLockScreen,

maskStyle : {

opacity : settings.dialogMaskOpacity,

backgroundColor : settings.dialogMaskBgColor

},

buttons : {

enter : [lang.buttons.enter, function() {

var url = this.find("[data-url]").val();

var alt = this.find("[data-alt]").val();

var link = this.find("[data-link]").val();

if (url === "")

{

alert(imageLang.imageURLEmpty);

return false;

}

var altAttr = (alt !== "") ? " \"" + alt + "\"" : "";

if (link === "" || link === "http://")

{

cm.replaceSelection("![" + alt + "](" + url + altAttr + ")");

}

else

{

cm.replaceSelection("[![" + alt + "](" + url + altAttr + ")](" + link + altAttr + ")");

}

if (alt === "") {

cm.setCursor(cursor.line, cursor.ch + 2);

}

this.hide().lockScreen(false).hideMask();

return false;

}],

cancel : [lang.buttons.cancel, function() {

this.hide().lockScreen(false).hideMask();

return false;

}]

}

});

dialog.attr("id", classPrefix + "image-dialog-" + guid);

if (!settings.imageUpload) {

return ;

}

var fileInput = dialog.find("[name=\"" + classPrefix + "image-file\"]");

fileInput.bind("change", function() {

var fileName = fileInput.val();

var isImage = new RegExp("(\\.(" + settings.imageFormats.join("|") + "))$"); // /(\.(webp|jpg|jpeg|gif|bmp|png))$/

if (fileName === "")

{

alert(imageLang.uploadFileEmpty);

return false;

}

if (!isImage.test(fileName))

{

alert(imageLang.formatNotAllowed + settings.imageFormats.join(", "));

return false;

}

loading(true);

var submitHandler = function() {

var uploadIframe = document.getElementById(iframeName);

uploadIframe.onload = function() {

loading(false);

var body = (uploadIframe.contentWindow ? uploadIframe.contentWindow : uploadIframe.contentDocument).document.body;

var json = (body.innerText) ? body.innerText : ( (body.textContent) ? body.textContent : null);

json = (typeof JSON.parse !== "undefined") ? JSON.parse(json) : eval("(" + json + ")");

if(!settings.crossDomainUpload)

{

if (json.success === 1)

{

dialog.find("[data-url]").val(json.url);

}

else

{

alert(json.message);

}

}

return false;

};

};

dialog.find("[type=\"submit\"]").bind("click", submitHandler).trigger("click");

});

}

dialog = editor.find("." + dialogName);

dialog.find("[type=\"text\"]").val("");

dialog.find("[type=\"file\"]").val("");

dialog.find("[data-link]").val("http://");

this.dialogShowMask(dialog);

this.dialogLockScreen();

dialog.show();

};

};

// CommonJS/Node.js

if (typeof require === "function" && typeof exports === "object" && typeof module === "object")

{

module.exports = factory;

}

else if (typeof define === "function") // AMD/CMD/Sea.js

{

if (define.amd) { // for Require.js

define(["editormd"], function(editormd) {

factory(editormd);

});

} else { // for Sea.js

define(function(require) {

var editormd = require("./../../editormd");

factory(editormd);

});

}

}

else

{

factory(window.editormd);

}

})();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值