2011-08-08 2 views
0

問題はfirefoxのどのバージョンでも、popUp()を使用するリンクをクリックすると2つのajax要素が読み込まれる場所に読み込まれます。私はfunction(){}と何か関係があると聞いてきましたが、わかりません。また、約3時間の再検索の後に何も出てこなかった。FirefoxがAJAX/JSで2つの要素を読み込んでいます

  function popup(type,content,title,button,colID){ 
      if(type == 'text'){ 
       var newdiv = document.createElement('div'); 
       newdiv.setAttribute('id','Popup'); 
       newdiv.innerHTML = '<popupStrong>'+title+'</popupStrong><br /><div id="closePopup" onclick="this.parentNode.style.display=\'none\';">'+button+'</div>'+content; 
       document.body.appendChild(newdiv); 
      } else { 
       xmlhttp=GetXmlHttpObject(); 
       if (xmlhttp==null){ 
        window.location='internetexplorer.php'; 
       } 
       xmlhttp.onreadystatechange=function() {eval(contentPopup(title,button,colID));}; 
       xmlhttp.open("GET",content,true); 
       xmlhttp.send(null); 
      } 
} 
function contentPopup(title,button,colID){ 
    if(xmlhttp.responseText && xmlhttp.responseText != 'undefined'){ 
     var newdiv = document.createElement('div'); 
     newdiv.setAttribute('id','Popup'); 
    if(xmlhttp.responseText != 'error.php'){ 
     newdiv.innerHTML = '<popupStrong>'+title+'</popupStrong><br /><div id="closePopup" onclick="this.parentNode.style.display=\'none\';">'+button+'</div>'+xmlhttp.responseText; 
    } else { 
     newdiv.innerHTML = '<popupStrong>404</popupStrong><br /><div id="closePopup" onclick="this.parentNode.style.display=\'none\';">Close</div>The element you were trying to load doesn\'t exist.'; 
    } 
     document.body.appendChild(newdiv); 
    } 
} 

答えて

1

コードを次のように変更します。

function popup(type,content,title,button,colID){ 
     if(type == 'text'){ 
      var newdiv = document.createElement('div'); 
      newdiv.setAttribute('id','Popup'); 
      newdiv.innerHTML = '<popupStrong>'+title+'</popupStrong><br /><div id="closePopup" onclick="this.parentNode.style.display=\'none\';">'+button+'</div>'+content; 
      document.body.appendChild(newdiv); 
     } else { 
      xmlhttp=GetXmlHttpObject(); 
      if (xmlhttp==null){ 
       window.location='internetexplorer.php'; 
      } 

      xmlhttp.onreadystatechange=function() { 
    if (xmlhttp.readyState == 4) { 
       eval(contentPopup(title,button,colID)); 
      }}; 
      xmlhttp.open("GET",content,true); 
      xmlhttp.send(null); }} 

Ajaxリクエストでは、準備完了状態== 4は応答の完了を示します。 ご参考のために http://www.w3schools.com/ajax/ajax_xmlhttprequest_onreadystatechange.asp

よろしく、

Kirubha私はhereを説明

+0

おかげで男を!私はそれを使用していたので面白いですが、その後それを完全に忘れました。まあとにかく、ありがとう:] – Jake

0

を、以下のリンクを参照してください、これはjQueryの中で起こっている理由(ルーマニア語から英語への翻訳):基本的には、追加する必要がありますあなたのURLにスラッシュをつけます。だからではなくなるの:

http://your.awesome.url?do=awesome.thing 

あなたが持っている必要があります。

http://your.awesome.url/?do=awesome.thing 
関連する問題