gpt4 book ai didi

javascript - jquery 插件破坏只是因为我删除了 '.css({display: ' none'})'

转载 作者:太空宇宙 更新时间:2023-11-03 18:47:25 28 4
gpt4 key购买 nike

我正在使用一个 jquery 插件,它用 div 替换表单的文件输入,所以当您单击 div 时,文件浏览器会弹出。当您选择一个文件时,表单会自动提交,结果会进入一个隐藏的 iframe。所有这一切背后的想法是,您只需一张图片,上面写着“点击上传”,然后单击一下就会出现一个文件浏览器,当您选择文件时,它会在后台上传。

无论如何,我知道当文件提交时我的 php 中出现了问题,但是因为结果被加载到一个隐藏的 iframe 中我看不到错误是什么!

所以显然从 iframe 中删除了隐藏样式,但问题是插件在插件的 javascript 中添加了 display:hidden。它确实:

var iframe = $(
'<iframe '+
'id="iframe'+id+'" '+
'name="iframe'+id+'"'+
'></iframe>'
).css({
display: 'none'
});

但是,如果我删除:

.css({
display: 'none'
});

有点,然后整个事情似乎中断了,点击带有“点击上传”的图像不再打开文件浏览器。

插件 javascript 不长,但可能太长,无法在此处发布,但您可以在此处查看:http://liquidlizard.net/jquery.ocupload.js如果有人能帮助我,那就太好了!

为什么只删除那个 css() 函数就会停止整个工作?有没有其他方法可以查看隐藏的 iframe 的内容?

编辑这是评论中建议的 jsfiddle。 http://jsfiddle.net/VF6Qb/如果您删除 .css({display:'none'}); 在从第 35 行开始的 javascript 中然后点击div将不再打开文件浏览器对话框

最佳答案

当您删除 display:none; 时, <iframe>以某种方式与文件输入和单击的 div 重叠,因此它不会触发文件浏览器。你可以测试this fiddle我交换了 iframe 和提交表单的 DOM 位置,瞧 - 它有效。

但是,如果只是检查 iframe 中的错误文档,您不会使 iframe 可见,而只是检查其在 FireBug's net panel 中的源代码(和 HTTP header ) .

关于javascript - jquery 插件破坏只是因为我删除了 '.css({display: ' none'})',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15977175/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com