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

    [Javascript] - Problemi crossbrowser su option tag html

    Ciao ragazzi,

    come da titolo ho un problema con Javascript e un option tag html.
    Praticamente, selezionando dal menù option un elemento, e cliccando un bottone, dovrebbe prelevarmi il valore dell'elemento selezionato ed eseguire certe operazioni.
    La funzione Javascript verifica anche se il valore selezionato è "blank" e in caso provvede a emettere una finestra di alert.
    Mi sono accorto che con gli ultimi browser a disposizione (Chrome, Mozilla e IE fino alla versione 9 compresa) il funzionamento è corretto, mentre andando indietro con browser più obsoleti (vedi IE8, IE7) viene sempre fuori il msg di alert che dice che l'elemento selezionato è vuoto, ed è come se il valore del campo non venisse preso in considerazione.

    Vi inoltro il codice della funzione javascript relativa:
    codice:
    function InsertRow(){        //alert("result of popup is: " + result);
            var numero = document.getElementById('numero').value;
            var evento = document.getElementById('evento').value;
            
            input_box=confirm("Sei sicuro di voler procedere ?");
            if (input_box==true){
                
                if(numero==''){
                    alert("Il campo numero non può essere vuoto");
                }
                else{
                    if(evento==''){
                        alert("Il campo EVENTO non può essere vuoto");
                    }
                    else{
                        if(!isNaN(numero)){
                            window.location="http://eseguiservlet;
                        }
                        else{
                            alert("Numero non corretto");
                        }
                    }
                }
            }
        }
    E questo è parte del codice HTML che lo utilizza:
    codice:
    <table class="tabellaFormNI">
                    <tr>
                        <td width="15%" align="left">
                            NB
                        </td>
                        <td width="40%" align="left">
                            <input type="text" size="13" id="numero" name="numero" maxlength="10" onkeypress="document.getElementById('arrowButton').disabled=false;"/>
                        </td>
                        <td rowspan="2" width="45%" align="left">
                            <input type="button" onclick="InsertRow();" value=">>" id="arrowButton" disabled />
                        </td>
                    </tr>
                    <tr>
                        <td align="left">
                            EVENTO
                        </td>
                        <td align="left">
                            <select id="evento">
                                <option id="tipoEvento0" name="tipoEvento0"></option>
                                <option id="tipoEvento1" name="tipoEvento1">1</option>
                                <option id="tipoEvento2" name="tipoEvento2">2</option>
                            </select>
                        </td>
                    </tr>
                </table>
    Il messaggio che viene sempre visualizzato su browser più datati è questo:
    Il campo EVENTO non può essere vuoto

    Riuscite ad aiutarmi per favore?
    Il problema è che non so su che browser girerà l'applicazione, visto che sarà utilizzata da più utenti.

    Ho provato anche ad eleiminare l'elemento "vuoto" dall'option tag, ma il problema si presenta lo stesso.

    Avete dei suggerimenti?
    Grazie in anticipo!!

    Ciao ciao

  2. #2
    E' scritto male il tag select, mi stupisco che funzioni nei nuovi browser.
    codice:
                            <select id="evento">
                                <option id="tipoEvento0" name="tipoEvento0"></option>
                                <option id="tipoEvento1" name="tipoEvento1">1</option>
                                <option id="tipoEvento2" name="tipoEvento2">2</option>
                            </select>
    Il name deve essere impostato per il tag select, non per i tag option.
    Inoltre i tag option devo avere impostato un value:
    codice:
                            <select id="evento">
                                <option value=""></option>
                                <option value="1">1</option>
                                <option value="2">2</option>
                            </select>

  3. #3
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    590
    il campo evento deve avere solo un id non un id per ogni valore...
    li ci devi mettere il value...
    ciao
    Vic53

  4. #4
    Ciao ragazzi, grazie mille!!!
    In effetti il tag option non era scritto bene, necessitava di attributo value="" ed ho provveduto anche a togliere i vari id ai singoli option (mi viene in automatico dare subito un id a qualsiasi elemento!).
    Me ne sono reso conto solo dopo della svista!!

    Grazie!
    E' bastato scrivere come da voi suggerito!

    Grazie ancora ad entrambi!!

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.