我正在使用iframe上传带有ajax感觉的图片,我使用unload来触发加载预览并隐藏加载gif的javascript函数,但我的问题是该函数在页面加载时加载ONCE提交表单时的ONCE和ONCE。我想不出另一个可行的处理程序?或者还有另一种选择吗?
<form id="profileForm" method="post" action="build/parsers/upload-photo.php" enctype="multipart/form-data" target="upload" onsubmit="startPhoto();">
<input type="file" name="photo" id="profileSelect" onchange="document.getElementById('profileForm').submit();" />
<button id="profileUpload" onclick="document.getElementById('profileSelect').click(); return false;" type="submit">Upload</button>
</form>
<iframe name="upload" id="upload" onload="stopPhoto();"></iframe>
答案 0 :(得分:0)
它被正确触发两次,因为iframe加载了两次。正如您所注意到的,当您发布到它时它会再次加载。您可以通过在表单的onload
处理程序中设置iframe的onsubmit
处理程序,使其按预期工作。这样,您的函数将仅在表单提交后在iframe加载中触发。
答案 1 :(得分:0)
我有一个类似的问题,即iframe onload事件在Chrome中的表单提交上按预期方式触发/触发,但是在IE11表单提交上却触发了两次,以及在页面加载时触发了。检查并查看是否可以解决您的问题?