我正在使用JQuery Form Plugin将文件与PHP一起上传,一切都在Firefox中完美运行,但在Internet Explorer中,如果我提交表单,则无法执行任何操作。
我的代码在
下面<script type="text/javascript">
<!--
$(document).ready(function() {
var options = {
target: '#message',
url:'../includes/ajax/import.php?import=1',
beforeSubmit: function() {
$('#uploader').html('<div style="padding-top:10%"><center><img src="../domain/images/ajax-loader.gif" border="0" /></center></div>');
$('#message').toggle();
},
success: function() {
$("#message").removeClass("message").addClass("messageResponse");
$('#message').toggle();
$('#uploader').html('');
}
};
$('#upload').ajaxForm(options);
});
//-->
</script>
<div id="message" class="message">
<form name="upload" id="upload" action="#" method="POST" enctype="multipart/form-data">
<table cellpadding="4" cellspacing="4" border="0">
<tr>
<td colspan="3"><h1>Map Clients <i>(Import CSV File)</i></h1></td>
</tr>
<tr>
<td class="fieldLabel" nowrap>File:</td>
<td nowrap><input type="file" name="fileToUpload" id="fileToUpload" /> *</td>
<td nowrap id="errorFile" class="error"></td>
</tr>
<tr>
<td nowrap colspan="3"><button id="mapClients">Map Clients</button></td><td nowrap id="errorFile" class="error"></td>
</tr>
<tr>
<td colspan="3"><input type="hidden" value="1" id="type" name="type" /></td>
</tr>
</table>
</form>
</div>
<div id="uploader"></div>
现在我的问题是,当我点击表单提交按钮时,我无法弄清楚为什么IE 7没有做任何事情
答案 0 :(得分:2)
我似乎记得遇到同样的问题。试试这个:
$(document).ready(function() {
var options = {...
/*abridged for clarity*/
$('#upload').submit(function() {
$(this).ajaxSubmit(options);
return false;
});
});
答案 1 :(得分:0)
我发现了问题
在我的HTML中我有类似的东西
<tr>
<td nowrap colspan="3"><button id="mapClients">Map Clients</button></td><td nowrap id="errorFile" class="error"></td>
</tr>
我把它改成了
<tr>
<td nowrap colspan="3"><input type="submit" id="mapClients" value="Map Clients" /></td><td nowrap id="errorFile" class="error"></td>
</tr>
问题解决了
答案 2 :(得分:0)
我在ie8中遇到了JQuery Form Plugin的问题。启动“ajax表单”的代码片段位于“动态div”中,后者在主页面后更新。把那个电话转移到主页上,ie8正在为我工作。
答案 3 :(得分:0)
与IE也有类似的问题。在我的情况下,问题发生了,因为我在beforeSend中禁用了文件输入元素(输入[type = file])(出于美观和可用性的原因)。只有IE在输入元素被禁用时出现问题。