Bonjour,
dans une application pour un client, j'ai un champ de recherche qui interdit certains caractères à la saisie :
Code js : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 var caracteresInterdits = '><"\')(]['; var codesInterdits = [167,164]; // pour § et ¤ function InterdireCaracteres() { var k = document.all ? parseInt(event.keyCode) : parseInt(e.which); event.returnValue = ((caracteresInterdits).indexOf(String.fromCharCode(k)) == -1 && !Array.contains(codesInterdits,k)); }
Seulement sur un copier-coller, les caractères en question peuvent apparaître dans ma textbox.
J'ai vu qu'il existait une function onpaste
Du coup j'ai commencer à la coder :
Code js : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 function InterdireCaracteresOnPaste(targetField, sourceEvent) { var clipboardText; var result; var pasteAllowed = true; clipboardText = window.clipboardData.getData("Text"); result = clipboardText.replace(caracteresInterdits,""); ??? pasteAllowed = !isNaN(result); //SourceEvent.returnValue = pasteAllowed; return (true); }
Mais mon replace ici ne fonctionne pas puisqu'il prend toute la chaine de caractère caracteresInterdits.
Du coup, est-ce qu'il y a moyen de faire ça simplement ?
Merci de votre aide
Partager