Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    225

    [Javascript] perchè?

    Scusatemi,
    sapreste dirmi perchè questo script non funziona?
    <script language="JavaScript">
    function checkSelection() {
    if(document.myForm.report.selectedIndex == 2) {
    document.myForm.campo.disabled = false;
    }
    else {
    document.myForm.campo.disabled = true;
    }

    else if(document.myForm.report.selectedIndex == 1) {
    document.myForm.campo2.disabled = false;
    }
    else {
    document.myForm.campo2.disabled = true;
    }
    }
    </script>

    <select name="report" onChange="checkSelection()">
    <option value="" selected ></option>
    <option value="Pippo">Pippo</option>
    <option value="Pluto">Pluto</option>
    </select>

    In pratica se si sceglie Pluto dal menu a tendina, allora mi viene abilitato il campo2. Se si scelgi Pippo dal menu, allora mi viene abilitato il campo1.

    Perchè non funziona?

    Grazie

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

    Re: [Javascript] perchè?

    c'e' un else if di troppo... sostituiscilo con if

    ciao

    ps: complimenti per il titolo
    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

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Un po' di ordine!!
    codice:
    function checkSelection() {
      if(document.myForm.report.selectedIndex == 2) {
        document.myForm.campo.disabled = false;
      } else {
        document.myForm.campo.disabled = true;
      } else if(document.myForm.report.selectedIndex == 1) {
        document.myForm.campo2.disabled = false;
      } else {
        document.myForm.campo2.disabled = true;
      }
    }
    Come vedi c'e` qualcosa ch e non va.
    Non ha senso un else if dopo un else (all'interno della stessa struttura).
    Inoltre ci sono due else nello stesso if.

    Prova a risitemare la logica.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    225

    [Javascript] è vero!!

    Buongiorno,
    è vero ho incasinato un po' la logica, me ne sono accorto subito dopo.
    Grazie lo stesso.
    Inoltre volevo chiedervi un'altra cosa.

    Ho usato questa riga di codice:

    document.myForm.campotesto.value = '';

    per pulire il contenuto di campotesto che è un campo di testo <input type="text"...>

    Vorrei fare la stessa cosa per la checkbox <input type="checkbox"...>:

    document.myForm.chech.value = '';

    ma non funziona, non pulisce niente. Come mai, dove sbaglio?
    Grazie ancora

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    document.myForm.chech.checked = false;

    ciao
    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

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    225

    [Javascript] sempre perchè??

    Scusatemi,
    ritornando al codice postatovi ieri sul javascript con gli if innestati, mi dite perchè questo funziona:

    if () {
    .....
    }
    else {
    .....
    }

    if () {
    .....
    }
    else {
    .....
    }

    mentre se ne metto tre non funziona????

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Tre cosa? tre if o tre condizioni?

    E sei sicuro che la struttura sia a posto?

    Se posti qualcosa inseriscilo tra [co de] e [/co de] (senza spazi, naturalmente, in modo che possiamo capire anche la struttura.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    225

    [javascript]

    Intendevo:

    Se metto 2 blocchi if-else consecutivi, lo script funziona.
    Mentre se metto 3 blocchi if-else consecutivi, lo script non funziona, cioè l'ultimo blocco if-else non va.

    Esempio se faccio:
    <script ....>
    if(document.myForm.report.selectedIndex == 1) {
    document.myForm.campo1.disabled = false;
    }
    else {
    document.myForm.campo1.disabled = true;
    }

    if(document.myForm.report.selectedIndex == 2) {
    document.myForm.campo2.disabled = false;
    }
    else {
    document.myForm.campo2.disabled = true;
    }
    </script>

    Mentre se ne metto tre di if-else non va.

    Scusatemi se sono stato poco chiaro
    Grazie

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non ha senso quello che dici.
    Prova a postare un esempio che non va.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  10. #10
    Utente di HTML.it L'avatar di ganesha
    Registrato dal
    Jan 2003
    Messaggi
    357
    oppure puoi fare così:
    codice:
    if(cond1){
      ...
    }else if(cond2){
      ...
    }else{
      ...
    }

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.