Gå til innhold

Må eg kjøre ActiveX?


Anbefalte innlegg

Eg har ein funksjon

 

function createRequest() {
    try {
      request = new XMLHttpRequest();
    } catch (trymicrosoft) {
      try {
        request = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (othermicrosoft) {
        try {
          request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (failed) {
          request = null;
        }
      }
    }

 

Saken er at eg vil fjerne ActiveX sidan eg ikkje bryr meg om IE.

 

Så koden ser slik ut

 

 

function createRequest() {
    try {
      request = new XMLHttpRequest();
    } catch (failed) {
          request = null;
    }
}

 

Men då fungerer ikkje funksjonen, kva er det eg misforstår?

Lenke til kommentar
Videoannonse
Annonse

Nei, bare at ingen oppdatering av data skjer på sida når eg trykker på knappen.

 

Heile sida blir sånn

 

<html>
<head>
 <title>Boards 'R' Us</title>
 <link rel="stylesheet" type="text/css" href="boards.css" />
 <script type="text/javascript" src="text-utils.js"> </script>
 <script language="javascript" type="text/javascript">
  var request = null;

  function createRequest() {
    try {
      request = new XMLHttpRequest();
    } catch (trymicrosoft) {
      try {
        request = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (othermicrosoft) {
        try {
          request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (failed) {
          request = null;
        }
      }
    }

    if (request == null)
      alert("Error creating request object!");
  }

  function getBoardsSold() {
    createRequest();
    var url = "getUpdatedBoardSales.php";
    request.open("GET", url, true);
    request.onreadystatechange = updatePage;
    request.send(null);
 }

 function updatePage() {
   if (request.readyState == 4) {
     var newTotal = request.responseText;
     var boardsSoldEl = document.getElementById("boards-sold");
     var cashEl = document.getElementById("cash");
     replaceText(boardsSoldEl, newTotal);
   
     /* Figure out how much cash Katie has made */
     var priceEl = document.getElementById("price");
     var price = getText(priceEl);
     var costEl = document.getElementById("cost");
     var cost = getText(costEl);
     var cashPerBoard = price - cost;
     var cash = cashPerBoard * newTotal;

     /* Update the cash for the slopes on the form */
     cash = Math.round(cash * 100) / 100;
     replaceText(cashEl, cash);
   }
 }
 </script>
</head>

<body>
 <h1>Boards 'R' Us :: Custom Boards Report</h1>
 <div id="boards">
  <table>
   <tr><th>Snowboards Sold</th>
    <td><span id="boards-sold">1012</span></td></tr>
   <tr><th>What I Sell 'em For</th>
    <td>$<span id="price">249.95</span></td></tr>
   <tr><th>What it Costs Me</th>
    <td>$<span id="cost">84.22</span></td></tr>
  </table>
  <h2>Cash for the Slopes: 
   $<span id="cash">167718.76</span></h2>
  <form method="GET">
   <input value="Show Me the Money" type="button"
          onClick="getBoardsSold();" />
  </form>
 </div>
</body>
</html>

Lenke til kommentar

Jeg ser ikke noe galt bortsett fra at du bør sjekke request.status også før du begynner å bruke dataene, med en alert hvis status ikke er lik 200.

 

Har du sjekket hvilket request-objekt som faktisk blir brukt av nettleseren din? Er jo bare å slenge inn alerts i hver try/catch-blokk og se hvilke(n) som vises.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...