从下面的代码中,警告功能应该在表单提交后执行。但是它会在第一次执行,之后就会胜出。它在除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");
}
};
}
}
})
}
答案 0 :(得分:1)
这是写标记的无效方式。但你不应该像iframe在你的情况下那样在iframe的开/关标签之间使用任何元素。
实际上只有在任何浏览器中不支持此元素时才会执行。 @MDN you can see the example1
SELECT id,
state,
population
FROM #yourtable A
WHERE population IN(SELECT Max(population) AS population
FROM #yourtable A1
WHERE A.state = A1.state
GROUP BY state)