2016-12-13 31 views
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(); 
    } 
} 

コードは例のみではなく、オリジナルです。変更フォームにする必要があります。したがって、この例では、選択フィールドにすべての大陸のリストをロードします。そしてそれは国と同じidと同じ大陸を選択します。しかし、選択フィールドにのみリストがロードされますが、JavaScript部分が実行されます。

document.getElementById("continent").value = data.continent; 
document.getElementById("country").value = data.country; 

アラートとsetTimeoutの間に作っても問題はありませんが、別の方法で解決できますか?

+0

何欲しいものを得る場合

とJSで

function storeContinent(val){ document.getElementById("continent").value = val; } 

わかりません正確に「早すぎる」という意味ですか?それが後で実行された場合、どのように機能するか、どのように把握しましたかコード実行時の 'xmlhttp.responseText'の値は何ですか?何を期待しましたか? – Bergi

+0

問題を示す元のコードを表示してください。 – Bergi

+0

問題は一般的に、動的に生成される選択リストは、同時にデータベースに格納されているオプションを選択する必要があることです。変更フォームにする必要があります。たとえば、別のサブカテゴリにアーティクルを割り当てたいとします。 – etnobommel1989

答えて

0

私はあなたがそのはに追加欲しいものだと思うように別のjs機能を選択:私はあなたが

関連する問題