Jistě se Vám již stalo, že na webu píšete do inputu částku 1000000 a zpětně dumáte, zda Vám tam nechybí jedna 0 či naopak nepřibívá. Bylo by skvělé psát 1 000 000, ale pak zase při ukládání do databáze musíte vyrušit ty mezery. S touto situací pomůže Javascript respektive jQuery.
Kód zní:/* doplneni tecek za tisice v inputech */ //krok 1 - Vynut, aby uzivatel psal jen cisla. $(".input_cislo").keydown(function (e) { // Allow: backspace, delete, tab, escape, enter and . if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 || // Allow: Ctrl+A, Command+A ; delete - 46 , backspace - 8 (e.keyCode == 65 && ( e.ctrlKey === true || e.metaKey === true ) ) || // Allow: home, end, left, right, down, up (e.keyCode >= 35 && e.keyCode <= 40)) { // let it happen, don't do anything return; } // Ensure that it is a number and stop the keypress if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) { e.preventDefault(); } }); //krok 2 doplni mezeru za tisice (zdroj: http://blog.tompawlak.org/number-currency-formatting-javascript ) $(".input_cislo").keyup(function (e) { var bez_mezer = $( this ).val().replace(/[ ]/g, ""); //mezery vracim do cisla, aby po dalsim kliku fungovalo to doplneni mezer dobre $( this ).val( bez_mezer ); var hodnota = $( this ).val(); var s_mezerami = hodnota.replace(/(d)(?=(d{3})+(?!d))/g, "$1 "); //ta mezera za $1 je oddelovac $( this ).val( s_mezerami ); });Pokud máte tento kód, tak již stačí pouze přidat třídu "input_cislo" k požadovanému inputu a to například takto:
PHP - Ostatní
JavaScript - Úvod do JavaScriptu
JavaScript - Příklady v JavaScriptu
(x) HTML - Úvod do HTML
CSS - Základy CSS