Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    menu select dei cap in base al comune

    dove sbaglio? tnx

    codice:
    <script type="text/javascript">
    function roma(){
         <select name="select" size="5" id="romacap">
         <option>00119</option>
         <option>00120</option>
         </select>
         }
    citta = 'roma';
    if (citta == 'roma'){
         document.onload = roma();
         }		
    </script>

  2. #2
    ti consiglio di mettere innanzitutto il value alle varie option, comunque l'errore è dovuto a questo:

    codice:
    document.onload = roma();
    che in realtà deve essere:

    codice:
    document.onload = roma;
    Con la prima istruzione te assegni all'evento load il risultato della funzione roma(), mentre te devi registrare la funzione come handler dell'evento. Quindi non devi richiamarla (roma()) ma semplicemente assegnarla come se fosse una variabile.

    Altrimenti avresti potuto scrivere anche

    codice:
    document.onload = function() {
       roma();
    });
    nel caso in cui tu debba richiamare più funzioni al caricamento.

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998

    Re: menu select dei cap in base al comune

    Originariamente inviato da er-pluto
    dove sbaglio? tnx

    codice:
    <script type="text/javascript">
    function roma(){
         <select name="select" size="5" id="romacap">
         <option>00119</option>
         <option>00120</option>
         </select>
         }
    citta = 'roma';
    if (citta == 'roma'){
         document.onload = roma();
         }		
    </script>
    Da quando in qua al posto delle istruzioni javascript si mettono direttamente i tag HTML?

    Vedendo poi il resto, ma da 0 a 0 quanto ne sai di javascript?

    In ogni caso, benvenuto sul forum

    @ carlogh
    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

  4. #4

    Re: Re: menu select dei cap in base al comune

    Originariamente inviato da br1
    @ carlogh


    è evidente che a mezzanotte è bene andarsene a letto avevo totalmente sorvolato su quei tag nel mezzo allo script, pur avendogli detto di dare loro il value
    una volta sistemata la funzione roma(), rimane valido comunque quello che ho scritto

  5. #5
    C'è un pochetto di confusione nello script che hai scritto.
    Forse potrebbe andarti meglio con il seguente script.
    codice:
    <html>
    <head>
    <script type="text/javascript">
    	function cap(citta) {
    		codcap = new Array();
    		if (citta=="Roma") { codcap=["00020", "00030", "00040"]; }
    		if (citta=="Catania") { codcap=["95020", "95030", "95040"]; }
    		stringa="<select 'cap'>";
    		num=codcap.length;
    		for (i=0; i<num; i++) {
    			stringa=stringa+"<option value='"+codcap[i]+"'>"+codcap[i]+"</option>";
    		}
    		stringa=stringa+"</select>";
    		document.getElementById("divcap").innerHTML=stringa;
    	}
    </script>
    </head>
    <body onload="cap('');">
    	<form name="mioform">
    		<select "city" onchange="cap(this.value);">
    		<option value="Roma">Roma</option>
    		<option value="Catania">Catania</option>
    		</select>
    		<div id="divcap"></div>
    	</form>
    </body>

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da salvogi
    stringa="<select 'cap'>";
    Mi sembra una select molto poco html...

    Originariamente inviato da salvogi
    <select "city" onchange="cap(this.value);">
    Anche qui manca il name= ...
    Il value di una select ottenuto in questo modo su alcuni browser non funziona... meglio il piu' standard
    onchange="cap(this.options[this.selectedIndex].value);">


    Inoltre dare alla select e alla funzione lo stesso nome garantisce quasi sempre che non possa funzionare.
    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

  7. #7
    Ok l'ho scritto troppo velocemente, però ora l'ho provato è funziona anche se è impreciso. Comunque l'idea c'era!
    Posto una versione rivista.
    codice:
    <html>
    <head>
    <script type="text/javascript">
    	function cap(citta) {
    		codcap = new Array();
    		if (citta=="Roma") { codcap=["00020", "00030", "00040"]; }
    		if (citta=="Catania") { codcap=["95020", "95030", "95040"]; }
    		stringa="<select 'cap'>";
    		num=codcap.length;
    		for (i=0; i<num; i++) {
    			stringa=stringa+"<option value='"+codcap[i]+"'>"+codcap[i]+"</option>";
    		}
    		stringa=stringa+"</select>";
    		document.getElementById("divcap").innerHTML=stringa;
    	}
    </script>
    </head>
    <body onload="cap('');">
    	<form name="mioform" action="mioform.php" method="GET">
    		<select name="city" onchange="cap(this.value);">
    		<option value="Roma">Roma</option>
    		<option value="Catania">Catania</option>
    		</select>
    		<div id="divcap"></div>
    	</form>
    </body>
    </html>
    Penso che ora debba andare meglio

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da br1
    Anche qui manca il name= ...
    Hai preso in considerazione solo questo.... il resto e' ininfluente.
    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

  9. #9
    Originariamente inviato da salvogi
    Ok l'ho scritto troppo velocemente, però ora l'ho provato è funziona anche se è impreciso. Comunque l'idea c'era!
    Posto una versione rivista.
    codice:
    <html>
    <head>
    <script type="text/javascript">
    	function cap(citta) {
    		codcap = new Array();
    		if (citta=="Roma") { codcap=["00020", "00030", "00040"]; }
    		if (citta=="Catania") { codcap=["95020", "95030", "95040"]; }
    		stringa="<select 'cap'>";
    		num=codcap.length;
    		for (i=0; i<num; i++) {
    			stringa=stringa+"<option value='"+codcap[i]+"'>"+codcap[i]+"</option>";
    		}
    		stringa=stringa+"</select>";
    		document.getElementById("divcap").innerHTML=stringa;
    	}
    </script>
    </head>
    <body onload="cap('');">
    	<form name="mioform" action="mioform.php" method="GET">
    		<select name="city" onchange="cap(this.value);">
    		<option value="Roma">Roma</option>
    		<option value="Catania">Catania</option>
    		</select>
    		<div id="divcap"></div>
    	</form>
    </body>
    </html>
    Penso che ora debba andare meglio
    grazie, a questo punto con document.getElementById è possibile passare il value di città + cap ad una variabile stringa?

  10. #10
    Bella domanda però non l'ho capita proprio bene.
    Il codice che ho scritto io fa riferimento ad una certa pagina mioform.php, per leggere i dati ovviamente occorre una pagina scritta in php o in asp (es. mioform.php p mioform.asp)
    ASP
    PHP

    N.B. mi sono accorto di un altro errorino la riga seguente
    stringa="<select 'cap'>";
    va sostituita con
    stringa="<select name='cap'>";

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.