Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    203

    "Bloccare" input e select

    Ciao a tutti in un determinato caso dovrei bloccare tutte le input e le select di una pagina asp facendo visualizzare un'alert tipo "Campo Bloccato in questa fase" quando l'utente ci tenta di cambiare il valore. Lo so che per le textbox si potrebbe mettere il readonly però il cliente ha chiesto questa soluzione di avvisare con un messaggio di alert.

    Su che evento mi consigliate di mettere questo controllo? come mi comporto con le select?

    In pratica devo lascare in scrittura solo 2 o 3 campi tutti gli altri li devo bloccare quando tentano di modificarli con un alert, aspetto vostri suggerimenti, grazie

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    <input type="text" readonly="readonly" onclick="alert('disabilitato');" />

    <select readonly="readonly" onclick="alert('disabilitato');" />
    ...
    </select>
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    203
    ok grazie è vero...per le input le metto lo stesso readonly

    ma per le select come mi comporto? non posso metterle "disabled" se no non passa il valore alla pagina successiva che fa i l salvataggio...cosa mi consigli di fare x "bloccare" le select (scartando l'ipotesi di creare delle hidden)? grazie...

  4. #4
    se ti piace puoi usare questo:

    <select onfocus="this.blur();">
    «Se leggi dimentichi, se vedi capisci, se fai impari» Piaget

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    203
    ho provato a metterlo ma non succede niente...cosa dovrebbe fare?

  6. #6
    in pratica... onfocus vuol dire "quando entri nel campo SELECT"
    e blur() vuol dire... esci...
    a me funziona... poi non so...
    «Se leggi dimentichi, se vedi capisci, se fai impari» Piaget

  7. #7
    prova se ti va bene in questo modo..funziona di sicuro in IE!

    codice:
    
    document.onactivate = function() {
    	if ("INPUT,SELECT".search(event.srcElement.tagName) != -1) {
    		alert("Campo Bloccato in questa fase");
    		return event.srcElement.disabled = "disabled";
    	}
    }
    

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    203
    Grazie per i consigli ma ho risolto facendo questa funzione impostata sull'evento onfocus sia della input sia delle select:

    function blocca_controllo()
    {
    document.body.focus();
    alert('Campo NON MODIFICABILE in fase di delibera');
    return false;
    }

    L'unica cosina è che quando arriva il focus sulla select si vede un tentativo di qualche millisecondo che tenta di aprire la tendina prima che arrivi a video l'alert. x essere pignoli sarebbe l'ideale non avere questo effetto di "quasi apertura" però penso che chiedo troppo al javascript...che dite?

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.