Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    312

    elements[...].checked è nullo o non è un oggetto

    ciao a tutti,

    qualcuno sà dirmi come mai quando clicco su "conferma dati e richiamo la funzione "closePop" ho questo errore:

    elements[...].checked è nullo o non è un oggetto

    la riga incriminata è questa:

    if (f.elements['colore'+i].checked)


    vi posto il codice sperando in qualche vostro prezioso aiuto

    ciao e grazie!!!!




    <html>

    <head>

    <title></title>
    <base target="_self">

    <script language="javascript">

    function closePop(num_colori) {

    var f = document.form_colori;
    var valore_selezionato=""
    cont=1;


    for (var i=0;i<num_colori;i++) {
    if (f.elements['colore'+i].checked) {
    if (cont>1) {
    alert("Attenzione, non puoi selezionare più di un colore!");
    return false;
    } else {
    valore_selezionato = f.elements['colore'+i].value
    cont++;
    }
    }
    }



    if (valore_selezionato != ""){

    var ass = f.elements['assorbimento'+valore_selezionato];
    rv_assorbimento = ass.options[ass.selectedIndex].value

    }else{

    rv_assorbimento = "";

    }



    //valorizzo il campo assorbimento e colore nel file scheda-ordine-lenti.asp
    window.opener.document.form_dati.colore.value = valore_selezionato;
    window.opener.document.form_dati.assorbimento.valu e = rv_assorbimento;


    f.submit();
    window.close();
    return false;
    }

    </script>

    </head>






    <body bgcolor="#FFFFFF" text="#000000" link="#000000" vlink="#000000" alink="#000000">

    <form action="scheda-ordine-lenti.asp?id=11&codice_articolo=SPG AZ" method="post" name="form_colori">



    <div align="center">
    <center>
    <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; " bordercolor="#111111" width="450" id="AutoNumber1" height="39" bordercolorlight="#FF6600" bordercolordark="#FF6600">
    <tr>
    <td width="874" height="39" style="border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium; border-top: medium none #FF6600; border-bottom: medium none #FF6600" bordercolorlight="#FF6600" bordercolordark="#FF6600">
    <p align="center"><font face="Verdana" color="#0061C1" size="2">

    Seleziona il colore dell'articolo SPG AZ

    </font>

    <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; border-width: 0" bordercolor="#111111" width="100%" id="AutoNumber2" height="150">
    <tr>
    <td width="8%" style="border-style: none; border-width: medium" align="center" height="27"></td>

    <td width="45%" style="border-style: none; border-width: medium" height="27">
    <p align="center"><font face="Verdana" size="1" color="#0061C1">
    Descrizione</font>
    </td>

    <td width="11%" style="border-style: none; border-width: medium" height="27">
    <p align="center"><font face="Verdana" size="1" color="#0061C1">
    % Assorbimento
    </font>
    </td>
    </tr>
    <tr>
    <td width="8%" style="border-style: none; border-width: medium" align="center" height="27">
    <input type="checkbox" name="colore2" value="ambra">
    </td>
    <td width="45%" style="border-style: none; border-width: medium" height="27">
    <p align="center"><font face="Verdana" size="1" color="#0061C1">
    ambra</font>
    </td>
    <td width="11%" style="border-style: none; border-width: medium" height="27">
    <p align="center"><font face="Verdana" size="1" color="#0061C1">
    <select name="assorbimento"><option value="10">10</option><option value="15">15</option><option value="15/0">15/0</option><option value="20">20</option><option value="20/0">20/0</option><option value="25">25</option><option value="25/0">25/0</option><option value="30">30</option><option value="30/0">30/0</option><option value="40">40</option><option value="40/10">40/10</option><option value="50">50</option><option value="50/20">50/20</option><option value="70">70</option><option value="70/20">70/20</option></select>
    </font>
    </td>
    </tr>


    <tr>
    <td width="8%" style="border-style: none; border-width: medium" align="center" height="27">
    <input type="checkbox" name="colore7" value="azzurro ">
    </td>
    <td width="45%" style="border-style: none; border-width: medium" height="27">
    <p align="center"><font face="Verdana" size="1" color="#0061C1">
    azzurro </font>
    </td>

    <td width="11%" style="border-style: none; border-width: medium" height="27">
    <p align="center"><font face="Verdana" size="1" color="#0061C1">
    <select name="assorbimento"><option value="15">15</option><option value="30">30</option></select></font>
    </td>
    </tr>

    <tr>
    <td width="8%" style="border-style: none; border-width: medium" align="center" height="27">
    <input type="checkbox" name="colore8" value="azzurro ghiaccio">
    </td>
    <td width="45%" style="border-style: none; border-width: medium" height="27">
    <p align="center"><font face="Verdana" size="1" color="#0061C1">
    azzurro ghiaccio</font>
    </td>
    <td width="11%" style="border-style: none; border-width: medium" height="27">
    <p align="center"><font face="Verdana" size="1" color="#0061C1">
    <select name="assorbimento"><option value="15">15</option><option value="30">30</option></select></font>
    </td>
    </tr>


    <tr>
    <td width="8%" style="border-style: none; border-width: medium" align="center" height="27">
    <input type="checkbox" name="colore9" value="azzurro pavone">
    </td>
    <td width="45%" style="border-style: none; border-width: medium" height="27">
    <p align="center"><font face="Verdana" size="1" color="#0061C1">
    azzurro pavone</font>
    </td>
    <td width="11%" style="border-style: none; border-width: medium" height="27">
    <p align="center"><font face="Verdana" size="1" color="#0061C1">
    <select name="assorbimento"><option value="10">10</option><option value="10/0">10/0</option><option value="15">15</option><option value="15/0">15/0</option><option value="20">20</option><option value="20/0">20/0</option><option value="25">25</option><option value="25/0">25/0</option><option value="30">30</option><option value="30/0">30/0</option><option value="40">40</option><option value="40/10">40/10</option><option value="5">5</option><option value="50">50</option><option value="50/20">50/20</option></select>
    </font>
    </td>
    </tr>

    </table>
    <table border="1" cellpadding="0" cellspacing="0" style="border-width:0; border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber3">
    <tr>
    <td width="100%" colspan="2" style="border-style: none; border-width: medium"></td>
    </tr>
    <tr>
    <td width="50%" style="border-style: none; border-width: medium" align="center">
    <font face="Verdana" size="2" color="#0061C1">
    <a href="javascript:chiudi()";>
    <font color="#0061C1">Torna ai
    prodotti</font></a></font>
    </td>
    <td width="50%" style="border-style: none; border-width: medium" align="center">
    <font face="Verdana" size="2" color="#0061C1">

    <a target="_self" href="#_" onclick="closePop('187');">
    <font color="#0061C1">
    Conferma i dati</font></a></font>
    </td>
    </tr>
    <tr>
    <td width="100%" colspan="2" style="border-style: none; border-width: medium"></td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </center>
    </div>




    </body>

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non ho controllato attentamente nel codice HTML, ma ritengo che nello script vuoi testare solo i checkbox, non tutti i campi.
    Inoltre ho visto che non ci sono tutti i campi con nome coloreX. Probabilmente e` questo che fa arrabbiare il browser.

    Per cui il codice deve diventare:
    codice:
    for (var i=0;i<num_colori;i++) {
      if (f.elements['colore'+i] && f.elements['colore'+i].type=='checkbox' && f.elements['colore'+i].checked) {
        if (cont>1) {
          alert("Attenzione, non puoi selezionare più di un colore!");
          return false;
        } else {
          valore_selezionato = f.elements['colore'+i].value
          cont++;
        }
      }
    }
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    312
    ok qui non mi dà più errore, ora 'errore si è spostato giu a questa riga:

    var ass = f.elements['assorbimento'+valore_selezionato];

    'options' è nullo o non è un oggetto


    perchè?

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Hai piu` di un campo con il name="assorbimento", e nessuno con il name="assorbimentoXX"
    Invece lo script cerca un campo con name="assorbimentoXX"
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.