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

    funzione con 3 parametri

    ho fatto una funzioncina da assegnare ad una select la quale passa il valore alla funzione e, a seconda del valore selezionato, visualizza o nasconde un div:

    codice:
    function showhide(theForm,field,parent) {
            if (theForm.field.options[theForm.field.selectedIndex].value=="1") {
    	   document.getElementById(parent).style.display = 'block';
            } else {
    	   document.getElementById(parent).style.display = 'none';
            }	
    }
    e la richiamo così:

    codice:
    <select ... onchange="javascript:showhide(nomeform,nomeselect,'div_da_visualizzare')">
    ora il mio problema è che non mi passa il parametro field per individuare la select dalla quale prelevare il valore (devo parametrizzarlo visto che ne avrò più di una nella stessa pagina)..

    ho provato a forzare sostituendo nel js field con il nome della select e funziona.. dove sbaglio? ho provato con gli apici e senza apici e cambia nulla, l'errore è un generico

    "theForm.field is undefined".. il campo esiste, ripeto forzandolo a mano va.

    dove sbaglio? errore di sintassi? sono una pippa con javascript lo so

  2. #2
    nomeselect passato così non ha senso: se è una stringa cioè il name="" della select, allora deve essere fra apici: 'nomeselect' (a meno che nomeselect non sia una variabile creata da qualche altra parte in uno script, non si capisce dal contesto cosa sia)

    al posto di
    nomeform
    netti:
    this.form

    A quel punto, per quanto riguarda nomeselect, se è il name della select e non una variabile lo metti fra apici 'nomeselect', e allora
    theForm.field
    diventa
    theForm[field]

  3. #3
    oppure, alternativa:

    onchange="java-script:showhide(this.form,this,'div_da_visualizzar e')">

    ps togli il trattino tra java e script

  4. #4
    infatti l'errore è nel js .. il campo deve essere richiamato così theForm[field] e non theForm.field..

    funziona perfettamente

    grazie 1000

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.