Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    31

    Bottone che disabiliti evento onkeyup!!

    salve ragazzi di html.it,avrei un problema in pratica io ho un input che ha un evento "onkeyup", e fin qui tutto ok ora pero vorrei dare la possibilita all'utente che visita la pagina di disabilitare/attivare l'evento "onkeyup" tramite bottone e che la sua scelta venga ricordata sulla pagina, è fattibile?

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    si

    puoi:
    -annotare la cosa in un database (se utilizzi un sistema di autenticazione)
    -annotarlo in un cookie (che però vale solo per QUEL browser su QUELLA macchina)

    in ogni caso ti serve un linguaggio dinamico per leggere e scrivere.
    altrimenti con javascript, con tutti i limiti del caso

    di conseguenza imposti e servi le variabili

  3. #3
    Utente di HTML.it L'avatar di sgogghy
    Registrato dal
    Sep 2010
    Messaggi
    237
    Ciao,
    eccoti un esempio.
    Ho usato JQUERY, una libreria di Javascript nel caso nella conoscessi.
    Se hai qualche domanda chiedi pure

    codice:
    <!DOCTYPE html>
    <html>
    <head>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
    
    $('#state').html("Enabled");
    
    var target = $('input#fname').attr("onkeyup");
    
    $('input.button').click(function(){
    
    var attr = $('input#fname').attr("onkeyup");
    
    	if(attr == target){
    	$('#state').html("Disabled");
    	$('input#fname').removeAttr("onkeyup");
    	}else{
    	$('#state').html("Enabled");
    	$('input#fname').attr("onkeyup", target);
    	}
    });
    
    });
    
    function fun()
    {
    $('#result').append("Fun :)");
    }
    </script>
    <style>
    input.button{
    border:1px solid #000000;
    padding:5px;
    background:#000000;
    color:#ffffff;
    }
    
    </style>
    </head>
    <body>
    
    <input type="button" value="Switch" class="button">
    
    TEXT: <input type="text" id="fname" onkeyup="fun()">
    
    <div id="result"></div>
    <div id="state"></div>
    
    </body>
    </html>

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    31
    ciao cosa devo modificare nel codice che hai inserito per funzionare con l'evento che voglio? questo codice ricorda la scelta effettuata dall'utente?

  5. #5
    Utente di HTML.it L'avatar di sgogghy
    Registrato dal
    Sep 2010
    Messaggi
    237
    Questo codice funziona così:
    quando la pagina viene caricata, la funzione fun() viene richiamata tramite l'attributo dell'input onkeyup() (fin quì dovrebbe essere tutto chiaro).

    Una volta cliccato sul bottone "switch", questo evento viene catturato dal jquery, il quale subito dopo mette nella variabile target l'attributo onkeyup() dell'input (ovvero "fun()" per il primo click).

    Poi fa una condizione chiedendo se l'attributo ATTUALE è uguale a target ( fun() ) allora rimuove questo attributo e quindi la funziona fun() non viene più richiamata alla pressione di un tasto.
    Se invece l'attributo attuale è diverso da target (quindi nel nostro caso "undefined") allora aggiunge l'attributo onkeyup con valore target ovvero fun().

    Tutto ciò viene fatto ad ogni refresh della pagina, se invece vuoi che questa cosa venga ricordata, diciamo nel tempo, allora bisogna inserirla in un database e quindi richiamarla.

    Se invece vuoi soltanto che alla pressione del tasto, il codice esegua una tua funzione, devi semplicemente prendere il codice della tua funzione e sostituire il codice della funzione fun().

    Scusa il papiro ma non avevo capito bene cosa avevi chiesto, spero sia chiaro adesso.

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.