1
JavaScript가 XMLHttpRequest보다 빠르다는 문제점이 있습니다. 나는 그것을 해결하지 않으려 :XMLHttpRequest가 완료된 후 Javascript를 실행하십시오.
setTimeout(function() {}, 100);
내 코드 :
이function change_country(id) {
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}
else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var data = JSON.parse(xmlhttp.responseText);
document.getElementById("continent").value = data.continent;
document.getElementById("country").value = data.country;
}
xmlhttp.open("GET", "request_country_change.php?id=" + id, true);
xmlhttp.send();
}
}
코드는 예를 들어, 원본이 아닌 것입니다. 변경 양식이어야합니다. 따라서이 예제에서는 select 필드에 모든 대륙의 목록을로드합니다. 그리고 이드와 관련이있는 대륙을 선택합니다. 그러나 선택 필드에는 목록 만로드되지만 JavaScript 부분은 실행됩니다.
document.getElementById("continent").value = data.continent;
document.getElementById("country").value = data.country;
일찍. 경고 또는 setTimeout 사이에 작동하면 작동하지만 다른 방법으로 해결할 수 있습니까?
무엇 정확하게 "너무 일찍"의미합니까? 나중에 도망 간다면 어떻게 작동 될지 어떻게 알았습니까? 코드가 실행될 때'xmlhttp.responseText'의 값은 무엇입니까? 그리고 당신은 무엇을 기대 했습니까? – Bergi
문제를 나타내는 원본 코드를 표시하십시오. – Bergi
문제는 일반적으로 동적으로 생성 된 선택 목록은 동시에 데이터베이스에 저장된 옵션을 선택해야한다는 것입니다. 변경 양식이어야합니다. 예를 들어 다른 하위 카테고리에 기사를 지정하려고합니다. – etnobommel1989