0

ここのプログラマーは、過去に問題を解決するのに非常に役に立ちました。そのため、Ajax について質問することにしました。おそらく簡単な修正ですが、私は Ajax は初めてです。

私がやりたいのは、結果がフレーズ「NOT FOUND」である場合、responseText のスタイルを赤に変更することです。それ以外の場合、テキストは黒になります。私が使用しているスクリプトは次のとおりです。

 <script type="text/javascript">
  <!-- 
  function newXMLHttpRequest() 
  {
     var xmlreq = false;
     if (window.XMLHttpRequest) 
     {
        xmlreq = new XMLHttpRequest();
     } 
        else if (window.ActiveXObject) 
     {
        try 
        {
           xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
        }
           catch (e2) 
           {
              alert("Error: Unable to create an XMLHttpRequest.");
           }
      }
        return xmlreq;
  }
  function getLocation(location) 
  {
     var getLocation= newXMLHttpRequest(); // sending request
     getLocation.open("GET", "/PP?PAGE=GETLOCATIONNAME&ROUTINGNUM=" + location, false);
     getLocation.send(null); // getting location
     document.getElementById("location_div").innerHTML = getLocation.responseText;
  }
  //-->
 </script>

HTMLは次のとおりです。

...
<table>
    <tr>
        <td class="ajax_msg">
         <div id="location_div"><div>       
        </td>
    </tr>
</table>
...
4

2 に答える 2

1

これらのスタイルには css を使用する必要があります。

JS:

if (reponseText == "NOT_FOUND") 
   document.getElementById("location_div").className = "error";
else
   document.getElementById("location_div").className = "success";

CSS:

.error
{
  color: red;
}
.success
{
  color: black;
}

編集:.classを.classNameに修正しました(これはjqueryで簡単になります)

于 2010-08-08T20:48:34.893 に答える
0

私の正直な意見では、jQuery は AJAX 呼び出しを使用する最良の方法です。また、コードを大幅に短縮できます。

ヘッドセクション

...
<script type="text/javascript" src="js/jquery.1.4.2.min.js"></script>
<script type="text/javascript">
  $(document).ready(function() {
      $.get('/PP', { PAGE: 'GETLOCATIONNAME', ROUTINGNUM: location }, function(data) {
          if(data == "NOT_FOUND") {
              $('#location_div').addClass('error');
          } else {
              $('#location_div').addClass('success');
          }
      });
  });
</script>

次に、gustavogb と同じ CSS を使用できます。
さて、これは実際に実行したいこととは少し異なるかもしれませんが、ご覧のとおり、jQuery は AJAX 呼び出しのコード量を大幅に短縮しました。また、変数 'location' がどこから来たのかはわかりませんが、呼び出しに含めました。

さらにヘルプが必要な場合は、jQuery.comで詳細を読むことができます。

于 2010-08-08T21:45:18.400 に答える