Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    109

    ripristinare select originale

    Ciao a tutti....
    Ho una select con a cui ho associato l'evento onChange....questo evento chiama una funzone che mi effettua alcune operazioni, ma prima chiede conferma all'utente (con una semplice confirm)...quello che vorrei è che se non vuole andare avanti (quidni non da ok sulla confirm) mi venga ripristinato il valolre originale della select...questo l'ho fatto, usando un oggetti.selectindex = valore voluto....il problema è che questo mi crea l'invocazione di nuovo (appena muovo il mouse fuori dal select) dell'evento onchange, in quanto effettivamente gliel'ho ricambiato riportandolo indetro...come faccio per far si che queto non succeda? c'è un modo piu semplice per ripristinare il valore originale?
    Le vie del signore sono infinite.....è la segnaletica che lascia a desiderare

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    questo dovrebbe fare quello che cerchi:
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    
    <script type="text/javascript">
    function conferma(menu,sel){
    if(confirm('Sicuro di voler....')){
    document.getElementById(sel).value=menu.options[menu.selectedIndex].value-1
    alert('Fai quello che vuoi')}
    else{menu.options.selectedIndex=document.getElementById(sel).value}
    }
    
    </script>
    </head>
    <body>
    <form name="form1" method="post" action="">
        <table width="400px" height="27" border="0" id="tabella" cellspacing="2" cellpadding="0">
      <tr>
        <td width="106" height="23"><select name="x" id="x" onchange="conferma(this,'sel')">
          <option value=1>1</option>
          <option value=2>2</option>
          <option value=3>3</option>
          <option value=4>4</option>
          <option value=5>5</option>
          <option value=6>6</option>
          <option value=7>7</option>
          <option value=8>8</option>
          <option value=9>9</option>
        </select></td>
        <td width="228"><input name="sel" type="hidden" id="sel" value="0"></td>
        <td width="58"></td>
      </tr>
    </table>
    </form>
    </body>
    </html>
    l'ho fatto al volo testato solo con firefox 3 ma dovrebbe andare con tutti i browser, ti ricordo che le option partano da 0 (0=1-1=2-2=3-etc..) e devi aggiungere un campo nascosto che serve per "ricordare" la option precedente, non penso si possa fare senza.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    109
    Ciao cavicchiandrea, grazie per la risposta ma purtroppo ho il solito problema...
    quelo che hai fatto te lo avevao gia fatto anche io ma si presenta il problema che il metodo chiamato nellìonChange viene di nuovo chiamato al momento che faccio la riassegnazine del vecchio elemento (questo perche si ritrova la select dinuovo modificata)....
    Purtroppo questo problema non si presenta con firefox e explorer mentre ho visto che si presenta con chrome...scusa non avevo specificato questa cosa nel post di prima....
    Le vie del signore sono infinite.....è la segnaletica che lascia a desiderare

  4. #4
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Potresti fare una cosa del genere:

    Tieni in una varibile il valore di default(appena carica la pagina) o l'ultimo usato.

    Al confirm se ok continui altrimenti cambi il valore come quello di default o ultimo usato

    Qui avviene l'onchange MA se il valore riportato nella select e' uguale all ultimo usato fermi tutto(prima del confirm)

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da Pingus
    Ciao cavicchiandrea, grazie per la risposta ma purtroppo ho il solito problema...
    quelo che hai fatto te lo avevao gia fatto anche io ma si presenta il problema che il metodo chiamato nellìonChange viene di nuovo chiamato al momento che faccio la riassegnazine del vecchio elemento (questo perche si ritrova la select dinuovo modificata)....
    Purtroppo questo problema non si presenta con firefox e explorer mentre ho visto che si presenta con chrome...scusa non avevo specificato questa cosa nel post di prima....
    Per quanto concerne il mio esempio non penso proprio, visto che ho testato adesso con ff 3.0 chrome 3.0 safari 4.0 IE 7 e funziona perfettamente demo se invece l'hai inserito nel tuo contesto e non funziona significa che il problema sta al trove, in tal caso potrebbe essere utile un link alla pagina pubblica.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    109
    strano perhce a me con la demo che hai messo on line mi da proprio quel problema....
    prova a selezionare la tua select cambiare valore, rispondere annualla alla confirm e a quel punto clicca in un punto quansiasi della pagina, non ricliccare sulla select....in quel momento mi rida la richiesta dell'onchange....fammi sapere se effettivamente da anche a te questa cosa senno disinstallo e reinstallo chrome!!!!!!!!!!1
    Le vie del signore sono infinite.....è la segnaletica che lascia a desiderare

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non so che dirti ne che fare, oltre alla demo online con i browser citati funziona perfettamente come tu stesso puoi verificare (eventualmente aggiornando il browser ma penso sia in influente) non so che fare ti auguro di risolvere.

    P.S. Come già detto probabilmente il problema è altrove di fatto onchange si scatena al cambiamento del valore della select se lo riporti al valore iniziale non c'è cambiamento e non ci sarà onchange

    P.S.S Sicuro d'usare l'evento onchange nella select? o che non ci sia onfocus nelle options o nella select?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    109
    come dicevo nella mia ultima risposta, il problema me lo dava proprio la tua demo on line facendo le operazioni che ti ho scritto nella ultima risposta...quindi non sullla mia pagina questa volta ma sulla tua...visto che mi confermi che non hai problemi nemmeno con chrome (ma hai fatto la prova che dicevo?) e invece io li ho con la tua demo, l'unica è qualcosa nel mio browser chrome che non va...orovero a reinstallarlo...
    Le vie del signore sono infinite.....è la segnaletica che lascia a desiderare

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.