Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Array e POST

  1. #1

    Array e POST

    Problema: utilizzo un file JS per controllare i campi di una form(inserita in pagina php).
    All'interno della form c'è questo codice:

    <?php
    $contatore=$quantita;
    for ($i=1; $i<=$contatore; $i++)
    {
    ?>
    <tr>
    <td align="right">
    SERIAL NUMBER ARTICOLO <?php echo $i;?>:
    </td>
    <td align="LEFT">
    <input type="text" name="serial_number_[]" size="25" maxlength="20" style="text-transform:uppercase"> //<?php echo $i;?>
    </td>
    </tr>
    <?php
    }
    ?>

    mentre per il codice JS ho:

    for (i=1; i<=contatore; i++)
    {
    var serial_number = document.dettaglio.elements["serial_number_[]"].value;
    alert (serial_number);
    if ((serial_number == "") || (serial_number == "undefined") || (serial_number.match(/^\s+$/)))
    {
    alert("Il campo SERIAL NUMBER ARTICOLO "+i+" è obbligatorio.");

    return false;
    }
    }

    Chi mi sa spiegare perchè non riesco a tirare fuori il value di serial_number_[]?

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    e l'indice della collezione dov'e'?

    var serial_number = document.dettaglio.elements["serial_number_[]"][i].value;

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    e un pezzo e fatto....mi sai spiegare perchè il focus mi punta sempre sul 2 mentre l'alert mi vicualizza sempre 1?....senza contare che se contatore=1 non vede l'array e mi da errore....ma quello lo risolvo con un IF..
    Ti posto il nuovo codice....

    var contatore=document.dettaglio.quantita.value;
    for (i=1; i<=contatore; i++)
    {
    var serial_number = document.dettaglio.elements["serial_number_[]"][i].value;
    if ((serial_number == "") || (serial_number == "undefined") || (serial_number.match(/^\s+$/)))
    {
    alert("Il campo SERIAL NUMBER ARTICOLO "+[i]+" è obbligatorio.");
    document.dettaglio.elements["serial_number_[]"][i].focus();
    return false;
    }
    }

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    scusa, dimenticavo... gli indici in js partono da 0

    usa [i-1]

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Funziona.............GRAZIE

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.