Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    154

    operazioni su input radio

    salve gente, nella mia pagina ho due input="radio"
    codice HTML:
    Attivato <input type='radio' name='yesno' value='f1' id='yesCheck' class='aggiorna'> 
    
    Disattivato <input type='radio' name='yesno' value='f2' id='noCheck' class='aggiorna' checked>




    ho fatto in modo che una volta selezionato attivato, mi viene mostrato un bottone "vendi prodotto" e quando seleziono disattivato il bottone scompare..

    i miei obbiettivi adesso sono 3:

    obbiettivo n°1) voglio un refresh della pagina ogni volta che mi sposto da attivato a disattivato e viceversa, (considerando che io parto con disattivato impostato come checked perchè voglio che di default sia disattivato, non mi deve dare il refresh quando apro per la prima volta la pagina e di default mi sta su disattivato perchè non mi ci sono spostato, ma stava già li di default e quindi il refresh non deve essere fatto)

    ho provato a fare questo:
    codice:
    $('input[class="aggiorna"]').on('change', function () {
        location.reload();
    });
    ma non funziona, temo che qualcosa vada in contrasto con il punto 2 (guarda secondo obbiettivo).


    obbiettivo n°2) voglio che quando aggiorno la pagina (non riuscendo nel primo obbiettivo attualmente aggiorno la pagina io manualmente con f5), se mi trovo per esempio su attivato, dopo il refresh mi devo ritrovare sempre su attivato, e stessa cosa vale per disattivato..quindi memorizzo con localstorage l ultimo stato del radio button e lo restituisco per com era.. in realtà questo secondo obbiettivo sono riuscito a implementarlo, ma l ho voluto postare lo stesso temendo che qualcosa possa andare in contrasto con il primo obbiettivo o magari pensando che qualcuno possa darmi un codice completo che possa farmi tutti e 3 gli obbiettivi con un unico codice...
    ho fatto questo cosi:

    codice:
    $(function() {
        $("input[type=\"radio\"]").click(function(){
    
            var thisElem = $(this);
            var value = thisElem.val();
            $(".box").hide();
            $("."+value).show();
            
            localStorage.setItem("option", value);
        
        });
      
        var itemValue = localStorage.getItem("option");
       
         if (itemValue !== null) {
            $("input[value=\""+itemValue+"\"]").click();    
        }
        
    });

    obbiettivo n°3) ho nella pagina uno script che richiamo nell'head cosi
    codice HTML:
    <script type='text/javascript'  src='vendi_prodotto.js'></script>
    il mio obbiettivo è interrompere il funzionamento di questo script quando l'input radio sta impostato su "disattivato", mentre far funzionare questo script quando sta impostato su "attivato"


    grazie a chiunque mi aiuterà, buone feste.
    Ultima modifica di Punix; 27-12-2020 a 01:49

  2. #2
    Se tu di default hai "Disattivato" in "checked" ovviamente quando ricarichi la pagina (come se l'avessi caricata per la prima volta) avrai sempre il "Disattivato" in "checked"

  3. #3
    in onchange devi chiamare una funzione che ti mostra o nasconde il bottone "vendi prodotto" agendo su "display:none" oppure "display:block"

    Non ha senso che memorizzi lo stato e poi riaggiorni la pagina
    Ultima modifica di SoloWiFi; 27-12-2020 a 11:59

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    154
    Avevo già fatto una cosa simile con display none e block ..solo che per esempio se un utente mi clicca su attivato e aggiorna la pagina , il check torna in disattivato...in questo caso io ho la necessità che ritorni su disattivato solo se lo decide l utente..per questo ho memorizzato lo stato..cosi se sto su attivato e aggiorno la pagina mi rimane su attivato...non so se mi sono spiegato bene ..... L'unico problema che ho su questo punto è che lo stato mi rimane memorizzato anche quando chiudo il browser e lo riapro per accedere alla pagina...se mi dimentico di lasciare l opzione su attivato, appena riapro il browser e accedo al sito mi ritrovo su attivato ..invece no in quel caso dovrebbe tornare automaticamente in disattivato... Praticamente avrei bisogno di cancellare il localstorage quando chiudo il browser, ma non so come farlo


    PS: hai idea su come risolvere i punti 1 e 3 che ho elencato sopra?

  5. #5
    allora a fine pagina fai eseguire lo script che ti riadatta secondo l'eventuale impostazione precedente.
    Se esegui lo script prima del completamento della pagina ti tornano le impostazioni di default o un errore.



    ho letto meglio e per risolvere il problema di una vecchia selezione non devi memorizzare su file ma creare una sessione di memoria lato server.
    Quando la pagina si chiude, le informazioni vengono perse.
    Ultima modifica di SoloWiFi; 27-12-2020 a 12:57

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    154
    solowifi grazie ho fatto come detto tu e ho risolto il secondo punto (ho salvato l informazione su una sessione..l informazione la perdo quando chiudo il browser).... adesso devo risolvere i punti 1 e 3.... voglio un piccolo reload page quando mi sposto da un input radio all altro... e poi in base al input radio selezionato voglio eseguire uno script o bloccarne l esecuzione... sapresti aiutarmi? =)

    perchè questo non funziona?
    codice:
    $('input[class="aggiorna"]').on('change', function () {
        location.reload();
    });

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    154
    per bloccare lo script sto provando a fare una cosa del genere: http://jsfiddle.net/r65xv4jf/


    ma non riesco nell intento ...dove sbaglio?

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    154
    Nulla ho risolto si può chiudere

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 © 2024 vBulletin Solutions, Inc. All rights reserved.