Ciao ..
è possibile, in modo globale per tutte le caselle di 'input' della pagina (senza intervenire sulla singola .. visto il numero) impedire che possa digitare un carattere ?
Nello specifico il doppio apice.
Grazie mille
Ciao ..
è possibile, in modo globale per tutte le caselle di 'input' della pagina (senza intervenire sulla singola .. visto il numero) impedire che possa digitare un carattere ?
Nello specifico il doppio apice.
Grazie mille
Si, con jquery a mio avviso è più semplice.
Lo sviluppo e dato dalla complessità del documento/form e se ci sono altri controlli![]()
Cavicchi Andrea
Problemi con javascript, jquery, ajax clicca qui
Semplice form con caselle di input per inserimento/aggiornamento DB.
Nessun altro controllo
Qualcuno mi può dare una mano ?![]()
Grazie
Se non l'hai già inserito da qualche parte, metti nella sezione head una qualunque versione della libreria jQuery.
Lo stesso codice puoi testare QUI.codice:<script type="text/javascript"> $(document).ready(function() { $('input').on('keypress', function (event) { var regex = new RegExp("^[\"]+$"); var key = String.fromCharCode(!event.charCode ? event.which : event.charCode); if (regex.test(key)) { event.preventDefault(); return false; } }); }); </script>
Inoltre, ti conviene forse aggiungere un alert che avverte che il doppio apice non è consentito. Magari si potrebbe pensare che all'improvviso si è rotta la tastiera.![]()
Ma in javascript tutto ciò non ti serve a molto; basta disattivarlo per eludere il controllo.![]()
![]()
Per una bella risata vai QUI
Io continuo a ritenere che programmare senza jQuery fa guadagnare anni luce in chiarezza…:
codice:<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Esempio</title> <script type="text/javascript"> (function () { var rDeny = /"/; function filterInput (oEvent) { var nChr = (oEvent || /* IE */ window.event).charCode; return nChr === 0 || !rDeny.test(String.fromCharCode(nChr)); } function createFilter () { for (var aTxtBoxes = document.getElementsByClassName("filtered"), nLen = aTxtBoxes.length, nItem = 0; nItem < nLen; nItem++) { aTxtBoxes[nItem].onkeypress = filterInput; } } window.addEventListener ? addEventListener("load", createFilter, false) : window.attachEvent ? attachEvent("onload", createFilter) : (onload = createFilter); })(); </script> </head> <body> <form name="myForm"> Esempio #1: <input type="text" name="myInput1" class="filtered" /></p> Esempio #2: <input type="text" name="myInput2" class="filtered" /></p> Esempio #3: <input type="text" name="myInput3" class="filtered" /></p> </form> </body> </html>![]()
Tutto ciò che fai con jQuery puoi farlo meglio e con la metà del codice in puro JavaScript.
@carlomarx
Ogni cosa presenta sempre dei vantaggi e svantaggi, tutto dipende dalle esigenze che si hanno. Essere estremisti non è mai una cosa buona.
Esempio: con il tuo codice devi aggiungere una classe ad ogni campo.
Ora: a quanto pare @JANUS70 ha un sacco di campi e vuole aggiungere un controllo generale, senza agire direttamente sui campi input, ovvero senza aggiungere una classe ad ogni campo.
E, secondo me, per eseguire quest' operazione si presta meglio jQuery, perché più veloce e pulito.
![]()
Per una bella risata vai QUI
in effetti cercavo qualcosa che mi evitasse di andare a 'toccare' tutte le caselle ..
Grazie a tutti comunque.
il problema è che però non riesco a farlo funzionare ..
cosa sbaglio ?
Grazie
codice:<script type="text/javascript" src="js/jquery/1.6.1/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $('input').on('keypress', function (event) { var regex = new RegExp("^[\"]+$"); var key = String.fromCharCode(!event.charCode ? event.which : event.charCode); if (regex.test(key)) { event.preventDefault(); return false; } }); }); </script>Codice PHP:
echo "<input id=\"fb1\" type=text size=\"50\" name=\"input_riferimenti\" value=" . "\"" . $input_riferimenti . "\"". " >";
Aggiorna la tua libreria alla versione 1.9.1, oppure cambia .on con .bind.
![]()
Per una bella risata vai QUI