我有一张我正在处理的照片上传表单,其工作原理如下:
当用户选择文件时,会在隐藏文件字段上检测到更改事件并触发表单提交。这是代码:
// on photo upload button click:
$("input[name=PhotoUpload]").click(function() {
$("input[name=Photo]").click();
});
// on photo upload:
$("input[name=Photo]").change(function() {
$("form[name=MediaUpload]").submit();
});
和表格:
<form name="MediaUpload" method="post" action="/postad/media.cfm" target="Media" enctype="multipart/form-data">
<input type="button" name="PhotoUpload" value="Upload Photo">
<input type="file" name="Photo" size="30" style="visibility:hidden;">
</form>
这在Chrome和FireFox中效果很好,但在任何版本的IE中都没有运气。有什么建议吗?
答案 0 :(得分:1)
我建议稍微尝试一下:
// on photo upload button click:
$("input[name=PhotoUpload]").click(function() {
$("#your_dialog").dialog("open");
});
//Remove the `.change` function.
// add the form submit line below after the dialog code changes the `Photo` field
$("form[name=MediaUpload]").submit();
很容易将IE与javascript混淆。如果它遇到了消化不良的东西,就会停止处理js。