Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    214

    problema gestione ciclo while

    ho un controllo javascript regolarmente funzionante. Tale controllo (molto banale: controlla se un campo non è vuoto), però, quando viene inserito all'interno del ciclo while, presenta dei problemi.

    Entrando nel dettaglio, la situazione è la seguente: (ho tagliato il codice inutile)

    ...
    function verificaQuantità(){
    var check;
    check=true;
    if (document.visualizzaCatalogo.quantity.value.length < 1 ){ //riga che crea l'errore
    ...

    <% Collection col =null;
    col = (Collection)session.getAttribute("catalogo");
    Iterator i = col.iterator();
    %>
    ...
    <form name="visualizzaCatalogo" method="post" action="servlet">

    //ciclo while della discordia
    <%
    while (i.hasNext()) {
    Product p = (Product)i.next();
    %>

    <tr>

    <td height="26" class="CT3Data1"></td>
    <td class="CT3Data1"><%=p.getDescription()%></td>
    <td class="CT3Data1"><%=p.getDescription()%></td>
    <td class="CT3Data1"><%=p.getCode()%></td>
    <td class="CT3Data1"><%=p.getPrezzo()%></td>
    <td class="CT3Data1"><%=p.getDisp()%></td>


    //campo quantity che genera l'errore
    <td class="CT3Data1"><input name="quantity" type="text" size="10" /></td>
    //qui viene chiamato il javascript
    <td class="CT3Data1"><input onclick="verificaQuantità()" type="button" value="Aggiungi" name="Submit" /></td>

    //chiusura ciclo while
    <%
    }
    %>
    </form>
    ...

    L'errore è il seguente: document.visualizzaCatalogo.quantity è nullo o non è un oggetto

    Se tolgo il ciclo while l'errore non appare, il problema che al ciclo while non posso rinunciare.
    Come posso risolvere il problema?

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ti faccio notare come quanto postato sia quasi illeggibile e difficilmente seguibile

    quando ci sono parti in php o asp va postato un output (x)html tipo,
    perche' gli errori lato client saltano + facilmente all' occhio

    se sei in un while immagino otterrai ripetizioni della parte di codice scritta nel while,
    questo vuol dire che non hai un solo campo quantity, ma + d' uno, il che x javascript lo rende referenziabile solo come array
    if(document.visualizzaCatalogo.quantity[0].value.length < 1 )

    quello 0 specifichera' il primo campo con name="quantity"

    a te far passare l' indice corretto,
    semplicemente come parametro della funzione verificaQuantita

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    214
    ti ringrazio. Anch'io mi sono accorto che era un po illeggibile però non conoscevo alcuni tag per evidenziare meglio il codice

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 © 2024 vBulletin Solutions, Inc. All rights reserved.