【发布时间】:2016-02-21 13:53:44
【问题描述】:
从下面的代码来看,alert函数应该在表单提交之后执行。但它是第一次执行,之后就不会了。它在除IE11之外的所有浏览器中都可以正常执行。
代码:
<iframe id="iframeID">
<form id="profile">
<input type="file" id="UPLOADED_FILE" name="UPLOADED_FILE" value="" >
<input type="submit" name="save_photo" value="Save" onclick="pressUpload();">
</form>
</iframe>
function pressUpload() {
var iframe_document = document.getElementById('iframeID').contentWindow.document;
var form_profile = $(iframe_document).find('#profile');
var file_input_field = $(form_profile).find('input[name=UPLOADED_FILE]');
$(file_input_field).bind('change', function () {
var value = $(this).val();
if (value) {
$(form_profile).submit();
if (navigator.userAgent.indexOf("MSIE") > -1 && !window.opera) {
iframe.onreadystatechange = function () {
if (iframe.readyState == "complete") {
alert("HI");
}
};
}
}
})
}
【问题讨论】:
标签: javascript jquery html forms iframe