Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    684

    Rendirizzare in base ai select

    Ciao a tutti,
    spiego il mio problema:

    ho un form con alcuni campi testo e due select.

    Io vorrei che se l'utente selezionasse un select (per esempio la terza opzione del menu a tendina)..venga rendirizzato ad una pagina stabilita a seconda della selezione dell'altro select.

    Mi spiego meglio:

    SELECT 1)
    Voce 1
    Voce 2
    Voce 3

    SELECT 2)
    Voce 1 (voce1.html)
    Voce 2 (voce2.html)
    Voce 2 (voce3.html)


    Se e solo se scelgo la voce 3 del menu select 1 vengo reindizzato ad una delle pagine legate al select 2. Come devo fare?
    Qualcuno sa darmi una mano? (Attualmente sul form ho dei controlli sui campi, ed anche sui select in modo che l'utente sia costretto a selezionare almeno una voce per andare avanti)

    Grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Si puo` fare, ma lo script interferirebbe sicuramente con quello che gia` hai. Conviene che posti lo script che usi.

    Dovresti anche specificare se lo script deve partire con il submit del form o con il change su una o l'altra delle select.
    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 2002
    Messaggi
    684
    Ciao Mich,
    ecco lo script che uso:

    <script language="javascript">
    function CheckEmail(txt){
    RE = /^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/
    return RE.test(txt)
    }
    function Controlla(ff){
    var msg=''
    {
    if(ff.paese_scelto.selectedIndex==0)msg+='- Selezionare una Voce\n'
    if(CheckEmail(ff.email.value)){
    if(ff.email.value!=ff.nuova_email.value)msg+='- Ridigitare correttamente E mail\n'
    }else msg+='- Inserire E mail valida\n'
    if(ff.nome.value=='')msg+='- Inserire in Nome\n'
    if(ff.cognome.value=='')msg+='- Inserire in Cognome\n'
    if(ff.indirizzo.value=='')msg+='- Inserire un Indirizzo\n'
    if(ff.cap.value=='')msg+='- Inserire un Cap\n'
    if(ff.citta.value=='')msg+='- Inserire una Citta\'\n'
    if(ff.provincia.value=='')msg+='- Inserire una Provincia\n'
    if(ff.telefono.value=='')msg+='- Inserire un numero di Telefono\n'
    if(ff.conosc.selectedIndex==0)msg+='- Selezionare una Voce\n'


    }
    if(msg!=''){
    alert('ATTENZIONE\n'+msg);
    return false
    }else return true
    }
    </script>

    Lo script vorrei che partisse alla pressione del SUBMIT.

    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    codice:
    <script language="javascript">
    function CheckEmail(txt){
      var RE = /^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/
      return RE.test(txt)
    }
    
    function Controlla(ff){
      var msg = '';
    
      if(ff.paese_scelto.selectedIndex==0) {
        msg += '- Selezionare una Voce\n';
      }
      if(CheckEmail(ff.email.value)){
        if(ff.email.value!=ff.nuova_email.value) {
          msg += '- Ridigitare correttamente E mail\n';
        }
      } else {
        msg += '- Inserire E mail valida\n';
      }
      if(ff.nome.value=='') {
        msg += '- Inserire in Nome\n';
      }
      if(ff.cognome.value=='') {
        msg+='- Inserire in Cognome\n';
      }
      if(ff.indirizzo.value=='') {
        msg += '- Inserire un Indirizzo\n';
      }
      if(ff.cap.value=='') {
        msg += '- Inserire un Cap\n';
      }
      if(ff.citta.value=='') {
        msg += '- Inserire una Citta\'\n';
      }
      if(ff.provincia.value=='') {
        msg += '- Inserire una Provincia\n';
      }
      if(ff.telefono.value=='') {
        msg+='- Inserire un numero di Telefono\n';
      }
      if(ff.conosc.selectedIndex==0) {
        msg+='- Selezionare una Voce\n';
      }
    
      if(msg != '') {
        alert('ATTENZIONE\n'+msg);
        return false;
      } else if(ff.SELECT1.selectedIndex == 2) {
        var dove = ff.SELECT2.options[ff.SELECT2.selectedIndex].value;
        // alert("sto per andare a "+dove);
        window.location.href = dove;
        return false;
      } else {
        return true;
      }
    }
    </script>
    La cosa piu` lunga e` stato riformattare lo script, rendendolo umanamente comprensibile ed aggiungendo i ; dove mancavano. C'era anche una graffa inutile.

    Dovrebbe funzionare, ma le prove le lascio fare a te.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    684
    Grazie mille Mich, sei stato gentilissimo.
    Una domanda: mi aiuti a capire l'ultima parte del codice? Come fa lo script a reindirizzare l'utente alla pagina "legata" alla scelta del select? (l'url...dov'è? :master: )


  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    l'URL deve essere nel value della select 2:

    <select name="SELECT1">
    <option value="Voce 1">Voce 1</option>
    <option value="Voce 2">Voce 2</option>
    <option value="">vai al link --></option>
    </select>
    <select name="SELECT2">
    <option value="sito1.html">Sito 1</option>
    <option value="sito2.html">Sito 2</option>
    <option value="sito3.html">Sito 3</option>
    </select>

    Natualmente i vari sito1.html, ... devono essere url corrette.

    Lo script legge il value della select e manda la pagina al link contenuto.
    Se vuoi verificare, togli il commento all'alert che ho inserito.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    684
    Mich sei un mito!

    Grazie ancora per il tuo aiuto!

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.