필요에 따라 양식을 자동 제출할 수있는 대체 방법은 다음과 같습니다.
document.getElementById('yourFrm').addEventListener('submit',(function()
{
'use strict';
var imgLoaded,img,tmpImgLoad;
imgLoaded = false;
img = document.getElementById('yourImg');
tmpImgLoad = function()
{
imgLoaded = true;
img.removeEventListener('load',tmpImgLoad,false);//remove obsolete listener?
};
img.addEventListener('load',tmpImgLoad,false);
return function(e)
{
if (!imgLoaded)
{
tmpImgLoad = function()
{
imgLoaded = true;
img.removeEventListener('load',tmpImgLoad,false);
document.getElementById('yourForm').submit();
};
e.preventDefault();
e.stopPropagation();
}
};
})(),false);
이 코드는 이미지 요소에로드 이벤트 리스너를 바인딩합니다.이 요소는 클로저 변수를 true로 설정합니다. 양식이 제출 될 때 해당 변수가 false 인 경우,로드 이벤트의 콜백도 양식을 제출하도록 변경됩니다.
이것은 좀 더 복잡하지만, 여러분도 알다시피 : 전역이이 문제를 해결할 수있는 유일한 방법은 아닙니다.
그냥 JSLint를 통해 많은 정보를 전달했습니다. 이 코드는 경고 또는 오류없이 전달됩니다.
동기식 [xhr] (https://developer.mozilla.org/)을 사용하십시오. en-US/docs/DOM/XMLHttpRequest). – Yoshi
'jQuery'를 사용합니까? – sabithpocker
@sabithpocker : 더 이상 페이지와의 호환성을 위해 일반 JS가 필요하지 않습니다. – XaReSx