Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    document.getElementbyId(...) è nullo o non è un oggetto

    salve a tutti sto sviluppando una pagina in cui sono elencati i prodotti di una azienda con i relativi prodotti. ad ogni riga è presente un link che attraverso ajax dovrebbe permettere la modifica del prezzo. Prima di iniziare ho fatto questa prova. Però mi da sempre l'errore "document.getElementbyId(...) è nullo o non è un oggetto." Chi mi sa dare una spiegazione?


    Codice PHP:
    <script type="text/javascript" language="Javascript">

    function createXMLHttpRequest() {
    var ua;

    if(window.XMLHttpRequest) {
        try {
          ua = new XMLHttpRequest();
        } catch(e) {
          ua = false;
        }
      } else if(window.ActiveXObject) {
        try {
          ua = new ActiveXObject("Microsoft.XMLHTTP");
        } catch(e) {
          ua = false;
        }
      }
      return ua;
    }


    var req = createXMLHttpRequest();

    function sendRequest(i) {
      req.open('get', '../func.php?id='+i);
      req.onreadystatechange = handleResponse;
      req.send(null);
    }

    function handleResponse() {

    if(req.readyState == 4){
        var response = req.responseText;
     var b ="prezzo["+response+"]";
          document.getElementById(b).innerHTML = "prova";

    }

    }</script>

    <?php
    //CONNESSIONE AL DATABASE

    echo "<h1>Elenco Prodotti</h1>";
    echo 
    "<table cellpadding=\"5\" cellpadding=\"5\"><tr><th colspan=\"4\">Prodotti</th></tr>";

    $query2="select * from prodotto where esazienda='$id'";
    $result2=mysql_query($query2,$db);
    while (
    $row2=mysql_fetch_array($result2))
    {
    $idprodotto=$row2[idprodotto];
    $descrizione=$row2[descrizione];
    $prezzo=$row2[prezzo];
    $confezione=$row2[confezione];
    echo 
    "<tr><td>$descrizione</td><td><div id=\"prezzo[$idprodotto]\">$prezzo &euro</div></td><td>$confezione bottiglie</td><td><a href=\"javascript:sendRequest($idprodotto);\">Modifica prezzo</a></td></tr>";
    }
    echo 
    "</table>";
    }

    //CHIUSURA DEL DATABASE
    ?>

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    prova componendo gli id in maniera diversa, in pratica togli le quadre

  3. #3
    Originariamente inviato da Xinod
    prova componendo gli id in maniera diversa, in pratica togli le quadre
    ho provato anche a togliere le quadre ma il risultato è il medesimo.

    la cosa strana è che se provo ad impostare var b ="prezzo[5]"; ottengo il risultato desiderato. Ovviamente solo per il quinto prodotto.

    Lasciando var b ="prezzo["+response+"]"; ottengo l'errore

  4. #4
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Cosa ti dà

    codice:
    alert(b);
    rispettivamente
    codice:
    alert(document.getElementById(b));

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  5. #5
    codice:
    alert(b);
    
    alert(document.getElementById(b));
    se premo ad esempio sul modifica prezzo del secondo prodotto ricevo rispettivamente prezzo[2] al primo alert e null al secondo

  6. #6
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Ma allo stesso questo ti restituisce un valore?!

    codice:
    alert(document.getElementById('prezzo[2]'));

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  7. #7
    ecco il risultato di alert(document.getElementById('prezzo[2]'));

    [object HTMLDivElement]

  8. #8
    allora da che cosa può essere dipeso??

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.