Visualizzazione dei risultati da 1 a 8 su 8

Discussione: onchange visible

  1. #1
    Utente di HTML.it L'avatar di Ely88M
    Registrato dal
    Oct 2007
    Messaggi
    281

    onchange visible

    Ciao
    Premetto che di javascript non ne so niente.....
    Ho un combobox con un elenco di valori presi da un db.
    dovrei associare un javascript che mi controlli se il combo ha un certo valore la form1 diventa visibile altrimenti la form3 diventa visibile....
    ho provato così... ma non funziona
    Questo è lo script e di seguito l'intestazione del combo
    codice:
    <script>
    <!--
    function validate(this) {
    if (document.selects.value=="") {alert("Selezionare una tabella");return false;}
    else{if (document.selects.value=="2") {form1.style.visibility= "visible"}
    else {form3.style.visibility= "visible"}
    }}} }
    //-->
    </script>
    
    <select id="selects" name="selects" style="width: 150px;" onchange="validate(this);">
    chi mi aiuta a scoprire perchè non va??

    Grazie

  2. #2
    Inizia da qui (non sono entrato nel merito della funzione):
    Se tu avessi scritto il codice con un minimo di indentazione,
    ti saresti accorto subito che in fondo alla funzione
    c'erano due graffe chiuse di troppo!
    codice:
    <script>
    <!--
    function validate(this) {
    	if (document.selects.value=="") {
    		alert("Selezionare una tabella");return false;
    	}
    	else {
    		if (document.selects.value=="2") {
    			form1.style.visibility= "visible"
    		}
    		else {
    			form3.style.visibility= "visible"
    		}
    	}
    }
    //-->
    </script>
    Poi, usa Firefox, con l'estensione FireBug, per 'debuggare' i javascript, te lo consiglio!

    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  3. #3
    Utente di HTML.it L'avatar di Ely88M
    Registrato dal
    Oct 2007
    Messaggi
    281
    Grazie per il suggerimento proverò firefox

    anche con le tue correzioni non funziona comunque...
    hai altri suggerimenti?

    scusa se ti rompo... ma non ne capisco niente

  4. #4
    Utente di HTML.it L'avatar di Goonie
    Registrato dal
    Sep 2007
    residenza
    Rome/Florence
    Messaggi
    39
    <script>
    <!--
    function validate(this) {

    var MioForm = window.document.NomeForm;
    var IdValSelezionato = MioForm.selects.selectedIndex;

    if(MioForm.selects[IdValSelezionato].value==''){
    alert("Selezionare una tabella");
    return false;
    }else{
    if(MioForm.selects[IdValSelezionato].value==2){
    MioForm.style.visibility='visible';
    }else{
    MioForm.style.visibility='hidden';
    }
    }

    }
    //-->
    </script>

    ps non so se dico una baggianata comunque selects come id/name non so se possa dare problemi, potrebbe essere uno di quei nomi "riservati" da non usare sui eventuali oggetti del form

  5. #5
    questo va

    la parola this e' riservata e non puoi usarla nella definizione di una funzione

    codice:
    function validate(selectObj) {
      if (selectObj.value=="") 
      {
        alert("Selezionare una tabella");return false;
      }
      else
      {
        if (selectObj.value=="2") 
        {
          document.form1.style.visibility= "visible"
        }
        else 
        {
          document.form3.style.visibility= "visible"
        }
      }
    }

  6. #6
    Utente di HTML.it L'avatar di Goonie
    Registrato dal
    Sep 2007
    residenza
    Rome/Florence
    Messaggi
    39
    vedo anche dal codice che hai scritto che passando il this nella funzione sul onchange passi direttamente l'oggetto "selects" alla funzione

    quindi potresti scrivere anche così:

    <script>
    <!--
    function validate(LaSelect) {

    var IdValSelezionato = LaSelect.selectedIndex;

    if(LaSelect[IdValSelezionato].value==''){
    alert("Selezionare una tabella");
    return false;
    }else{
    if(LaSelect[IdValSelezionato].value==2){
    LaSelect.style.visibility='visible';
    }else{
    LaSelect.style.visibility='hidden';
    }
    }

    }
    //-->
    </script>

  7. #7
    Originariamente inviato da Ely88M
    anche con le tue correzioni non funziona comunque...
    Avevo detto che non ero entrato nel merito!

    raven74 ha scritto quello che avrei scritto io (mi ha battuto sul tempo!)

    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  8. #8
    Utente di HTML.it L'avatar di Ely88M
    Registrato dal
    Oct 2007
    Messaggi
    281
    Grazie 1000 a tutti!!!!
    ho sempre detto che non vado d'accordo con javascript... bisogna che prenda ripetizioni

    Ciao

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.