我有一些麻烦使文件输入按我想要的方式工作.文件元素由2部分组成,即文本字段和浏览按钮.在IE之外的其他浏览器中单击其中任何一个都会打开一个窗口,您可以在其中选择文件 在IE中,它只在我单击浏览按钮时打开.如果我单击它旁边的文本字段,我必须双击以便打开窗口.有没有办法用javascript解决这个问题,所以单击文本字段也会打开窗口?我尝试了以下,但它没有用.(代码与实例相比简化得多)
HTML:
<input id="file" name="file" type="file"/>
JS/jQuery:
$("#file").click(function(){
$(this).trigger("dblclick");
});
$("#file").dblclick(function(){
alert("Double");
});
Run Code Online (Sandbox Code Playgroud)
现在上面的代码提醒"Double"但不打开窗口.有没有办法来解决这个问题?
提前致谢.
我正在开发一个可以在Zend Framework表单中使用的表单上传元素.我试图让它成为程序员可以在任何项目中使用它而无需手动配置任何设置.
这些文件由AJAX上传器上传,该上传器返回JSON数据,如:
[
{
"name":"image.png",
"size":42410,
"type":"image\/png",
"url":"http:\/\/example.com\/image.png",
"thumbnail_url":"http:\/\/example.com\/thumbnail\/image.png",
}
]
Run Code Online (Sandbox Code Playgroud)
由于上传器本身是一个表单元素,我试图将这些数据放在提交表单中,因此可以从$ _POST中检索值.我添加了名为uploader-data []的javascript的隐藏输入字段(在提交表单时),但这只允许我将1个变量传递给隐藏字段.
所以我想我的问题是:"我如何将整个数组/对象传递给$ _POST /表单?".即使我使用AJAX作为上传者本身,我也不想用它来提交表单.我想要一个包含JSON对象/数组中所有数据的常规表单提交.文件本身已经上传,但我可能想在我的数据库或其他地方使用JSON数据.
可以这样做吗?
提前致谢.
出于某种原因,我在网站上制作的ajax请求在一半的时间内中止.当我为ajax请求设置超时时,这解决了,如下所示.
$.ajax({
url: "/question/why_wont_it_work",
timeout : 1000,
success: function(){ /*do stuff*/ }
});
Run Code Online (Sandbox Code Playgroud)
遗憾的是,超时修复似乎不适用于jquery自动完成.我这样使用它:
$( "#questionTags" ).autocomplete({
source: "/question/tags",
timeout: 1000,
select: function(event, ui) { /*do stuff*/ },
});
Run Code Online (Sandbox Code Playgroud)
我检查了网站上的jQueryUI文档,但也没有看到超时选项.现在这很烦人,因为有一半时间我的请求会中止,我不会得到我想要的结果.有没有解决的办法?
提前致谢.