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

    [js] select stato selezionato

    Ciao, ho una funzione su una select con questo codice

    onChange="visualizza(this[this.selectedIndex].value)"')

    funziona correttamente

    il problema si pone quando l'utente invia il form che però non è completo quindi gli vengono inidicati i campi da inserire,... la select è selezionata ma la funzione non "funziona" immagino perché non c'è stato cambiamento...

    non c'è modo per indicare alla select uno stato di "selezione" ?

    thks
    [°_°] The Web Styler Project [°_°]
    :.:Classifica Spettacolare :.:
    :-:Partecipa :-: GUADAGNA SCRIVENDO ARTICOLI !! fino a 2,5 crediti per parola

  2. #2
    cosa intendi per "stato di selezione"?

  3. #3
    praticamente quando l'invio non viene completato il form viene restituito con i campi precedentemente selezionati.


    Prima dell'invio

    <select name="sg" tabindex="90" onChange="visualizza(this[this.selectedIndex].value)">
    <option value="">---</option>
    <option value="uno">uno</option>
    </select>

    Dopo l'invio (in caso altri campi non siano compilati e questo sì)

    <select name="sg" tabindex="90" onChange="visualizza(this[this.selectedIndex].value)">
    <option value="">---</option>
    <option value="uno" selected>uno</option>
    </select>

    In quest'ultimo caso uno è selezionato ma la funzione non si attiva.
    [°_°] The Web Styler Project [°_°]
    :.:Classifica Spettacolare :.:
    :-:Partecipa :-: GUADAGNA SCRIVENDO ARTICOLI !! fino a 2,5 crediti per parola

  4. #4
    beh, credo tu debba forzare il richiamo della funzione visualizza dopo il mancato invio del form.

  5. #5
    La funzione è quella sottostante

    function visualizza(quale)
    {
    if (quale=='') {document.getElementById("idLivello").innerHTML="< img src=\"img/schemi/vuota.gif\" />"; }
    else { document.getElementById("idLivello").innerHTML="<i mg src=\"img/schemi/"+quale+".gif\" border=\"1\" />"; }
    }

    quello che posso fare è forzare la chiamata della funzione tramite php, all'interno del body..
    [°_°] The Web Styler Project [°_°]
    :.:Classifica Spettacolare :.:
    :-:Partecipa :-: GUADAGNA SCRIVENDO ARTICOLI !! fino a 2,5 crediti per parola

  6. #6
    disabilita la funzione di invio fino a quando il form non e' completo.

    Se fai effettuare l'invio al form, ed i dati sono incompleti, quando si torna indietro si perdono i dati inseriti, ameno che tu non voglia prelevarli dal GET o POST (in base al tipo di invio che hai deciso di fare). Ma e' uno spreco di risorse.

    Se invece "prima" dell'invio del form fai partire una funzione che controlla tutti i campi, eviti questo inconveniente. Nel caso il form e' incompleto, i dati rimarranno xche' il form non ha effettuato il submit, in caso contrario l'invio verra' fatto regolarmente e corretamente.
    Per il select, fai un controllo su di esso prima dell'invio, se il suo valore e' "---" il form restituira' false, in caso contrario restituira' true.

    Per come effettuare il controllo sui campi fai una ricerca qui sul forum. Queto argomento e' stato trattato moltissime volte.
    Nulla è impossibile. Il difficile è trovare la soluzione che renda l'impossibile possibile...
    http://www.eternaldream.it

  7. #7
    Originariamente inviato da alexdem24
    disabilita la funzione di invio fino a quando il form non e' completo.

    Se fai effettuare l'invio al form, ed i dati sono incompleti, quando si torna indietro si perdono i dati inseriti, ameno che tu non voglia prelevarli dal GET o POST (in base al tipo di invio che hai deciso di fare). Ma e' uno spreco di risorse.

    Se invece "prima" dell'invio del form fai partire una funzione che controlla tutti i campi, eviti questo inconveniente. Nel caso il form e' incompleto, i dati rimarranno xche' il form non ha effettuato il submit, in caso contrario l'invio verra' fatto regolarmente e corretamente.
    Per il select, fai un controllo su di esso prima dell'invio, se il suo valore e' "---" il form restituira' false, in caso contrario restituira' true.

    Per come effettuare il controllo sui campi fai una ricerca qui sul forum. Queto argomento e' stato trattato moltissime volte.
    Ciao, il form viene controllato da php, perché ho bisogno di fare una serie di controlli su dbase e prendere dati da array preconfigurati....

    potrei far così (premetto son nubbio di js)

    carico la funzione "forzandola" così :

    <script type="text/javascript">visualizza('valore')</script>

    però non mi funge .. e non capisco perché ..
    [°_°] The Web Styler Project [°_°]
    :.:Classifica Spettacolare :.:
    :-:Partecipa :-: GUADAGNA SCRIVENDO ARTICOLI !! fino a 2,5 crediti per parola

  8. #8
    postami ul codice della pagina php che si incarica di controllare il form, e l'eventuale funzione js
    Nulla è impossibile. Il difficile è trovare la soluzione che renda l'impossibile possibile...
    http://www.eternaldream.it

  9. #9
    la funzione js è :
    function visualizza(quale){
    if (quale=='') {document.getElementById("idLivello").innerHTML="< img src=\"img/schemi/vuota.gif\" />"; }
    else { document.getElementById("idLivello").innerHTML="<i mg src=\"img/schemi/"+quale+".gif\" border=\"1\" />"; }
    }

    mentre in php faccio un controllo sull'esistenza di valori nel dbase e/o sull'invio del form, in caso affermativo forzo la funzione.
    Ma anche scrivendo direttamente questo nel corpo non mi funziona :
    <script type="text/javascript">visualizza('4_4_2')</script>

    thks
    [°_°] The Web Styler Project [°_°]
    :.:Classifica Spettacolare :.:
    :-:Partecipa :-: GUADAGNA SCRIVENDO ARTICOLI !! fino a 2,5 crediti per parola

  10. #10
    perche' richiami la funzione js in quel modo ?

    Nel corpo della pagina, mettiamo caso che vuoi abbinare il cambio dell'immagine ad un select, dovrai scrivere una cosa del tipo:
    codice:
    <select name="cambia" onchange="visualizza(this.options
        [this.selectedIndex].value);">
    <option value="cane">cane</option>
    .......
    </select>
    ciao
    Nulla è impossibile. Il difficile è trovare la soluzione che renda l'impossibile possibile...
    http://www.eternaldream.it

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.