| | |
| Stránka: 1 z 1
| [ Príspevkov: 21 ] | |
Autor | Správa |
---|
Registrovaný: 10.11.11 Prihlásený: 04.08.17 Príspevky: 21 Témy: 5 |
Poradí mi niekto prosím, ako mám spraviť, aby sa do input text (html) dali zadávať len čísla od 0-9 a čiarka (,), ale tak, aby sa čiarka nedala zadať viac krát za sebou (teda aby medzi čiarkami bolo vždy nejaké číslo). Napr.: 10,1250,140,1250.
Teda, aby nemohol nastať napríklad takýto prípad: 10,1250,,140,1250.
Za rady vopred ďakujem.
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
ideálne tak, že priradíš danému inputu masku cez javascript a ošetríš vstup následne aj v code behinde, aby si mal istotu, že sú dáta v správnom formáte (javascript sa dá kedykoľvek vypnúť!)
tu je napr. pekný zoznam skriptov
http://www.webresourcesdepot.com/javasc ... put-masks/
_________________ C#, PHP, ... |
|
Registrovaný: 10.11.11 Prihlásený: 04.08.17 Príspevky: 21 Témy: 5 | Napísal autor témy lukas15: 12.11.2011 13:23 | |
|
Dá sa to spraviť s maskou, tak aby som mohol zadávať čísla akejkoľvek dlížky? Napr. 10000000,200,115,0,1,33,20
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
Hmm, keď tak nad tým uvažujem, tak masku v tomto prípade ani nepotrebuješ. Stačí javascriptom pri písaní/po dopísaní kontrolovať vstup a podľa situácie vykonať akciu (napr nepovoliť iné znaky ako 0-9)
_________________ C#, PHP, ... |
|
Registrovaný: 10.11.11 Prihlásený: 04.08.17 Príspevky: 21 Témy: 5 | Napísal autor témy lukas15: 12.11.2011 15:58 | |
|
Tak konkrétne mám takýto kód. Sú povolené len znaky 0-9 a čiarka. Čo tam mám pridať, aby sa nedala dať čiarka dva krát za sebou, ale len za číslom?
Kód: <SCRIPT language=Javascript> <!-- function isNumberKey(evt) { var charCode = (evt.which) ? evt.which : event.keyCode if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 44) return false;
return true; } //--> </SCRIPT>
<INPUT id="txtChar" onkeypress="return isNumberKey(event)" type="text" name="txtChar">
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal camo: 14.11.2011 8:57 | |
|
Pridať tam test na regulárny výraz:
patern.test(elem.value)
|
|
Registrovaný: 10.11.11 Prihlásený: 04.08.17 Príspevky: 21 Témy: 5 | Napísal autor témy lukas15: 14.11.2011 9:11 | |
|
Vedel by si to tam aj zakomponovať, lebo ja sa v JS moc nevyznám.
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal camo: 14.11.2011 13:06 | |
|
Toto daj za to prve return false.
patern=/,,/;
if(patern.test(document.getElementById('txtChar').value){ return false; }
|
|
Registrovaný: 10.11.11 Prihlásený: 04.08.17 Príspevky: 21 Témy: 5 | Napísal autor témy lukas15: 14.11.2011 14:06 | |
|
Skúsil som to takto, ale nejde to.
Kód: <SCRIPT language=Javascript> <!-- function isNumberKey(evt) { var charCode = (evt.which) ? evt.which : event.keyCode if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 44){ return false; patern=/,,/; if(patern.test(document.getElementById('txtChar').value){ return false; } }
return true; } //--> </SCRIPT>
<INPUT id="txtChar" onkeypress="return isNumberKey(event)" type="text" name="txtChar">
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal camo: 14.11.2011 14:19 | |
|
Nie, ten patern patrí do vlastnej if vetvy, nie do tej predošlej. Napísal som, že to máš dať za ten return, ale nenapísal som, že ta máš dopĺňať zátvorky...
|
|
Registrovaný: 10.11.11 Prihlásený: 04.08.17 Príspevky: 21 Témy: 5 | Napísal autor témy lukas15: 14.11.2011 14:28 | |
|
Mohol by si prosím napísať celý ten skript ako to bude vyzerať a tušim tam chýba zátvorka.
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal camo: 14.11.2011 14:34 | |
|
function isNumberKey(evt)
{
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 44){ return false; }
patern=/,,/;
if(patern.test(document.getElementById('txtChar').value){ return false; }
return true;
}
Možno tam je aj nejaká chyba odo mňa, neskúšal som to...
|
|
Registrovaný: 10.11.11 Prihlásený: 04.08.17 Príspevky: 21 Témy: 5 | Napísal autor témy lukas15: 14.11.2011 14:49 | |
|
Nefunguje to. Ide to tak isto ako predtým.
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal camo: 14.11.2011 15:15 | |
|
No máš pravdu nefunguje to. Keypress nemá k dispozícii hodnotu, ktorú potrebuješ testovať.
Také najjednoduchšie riešenie by bolo:
Kód: function isNumberKey(evt) { var charCode = (evt.which) ? evt.which : event.keyCode if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 44){ return false; }
patern=/,,/; if(charCode == 44 && patern.test(document.getElementById('txtChar').value+',')){ return false; }
return true; }
Ale dá sa to ľahko obísť ak nastavíš kurzor na čiarku, ktorá by bola niekde pred koncom reťazca, tak môžeš pridať ďalšiu... Teraz sa mi nechce to riešiť. Asi lepšie by bolo to urobiť ako písal Walter, že po ukončení písania skontoluješ value oproti regulárnemu výrazu a prípadne zabrániš odoslaniu a vypíšeš nejakú hlášku o tom, že si tam našiel dve čiarky za sebou...
|
|
Registrovaný: 10.11.11 Prihlásený: 04.08.17 Príspevky: 21 Témy: 5 | Napísal autor témy lukas15: 14.11.2011 16:20 | |
|
Takže spravil som to takto:
Kód: function valid(){ if(document.search.wavenumber.value == 'xxxx'){ alert ('Zadali ste nesprávny formát pri zadávaní frekvencie!!!'); return false; } }
<form action = "stranka" method = "post" name = "search" onsubmit="return valid()" > <input type = "text" name = "wavenumber" onkeypress="return isNumberKey(event)" /> <input class = "submit" type = "submit" name = "submit" value = "Hľadať"/> </form>
akú podmienku mám dať za xxxx aby sa nedali zadať (,,) a aby nebola na konci zapisu čiarka
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal camo: 14.11.2011 16:48 | |
|
Máš to myslím blbo. Z kade máš takúto syntax???
Tu si pozri ako sa používa search: http://www.w3schools.com/jsref/jsref_search.asp
Ale odporúčam ti použiť test, tak ako som písal ja, lebo search, alebo match(už neviem) nejako blbne pri interpetácii výrazov...
A regulár bude cca.: /^\d([\d]*|,)\d|\d$/ - čisla oddelené čiarkou, ktorá nemôže byť na začiatku ani na konci. / JE TO BLBO, ESTE TO TREBA DOLADIT.../
Ale teraz budeš musieť testovanie negovať, lebo tento výraz vyhovuje tvaru ktorý potrebuješ...
|
|
Registrovaný: 10.11.11 Prihlásený: 04.08.17 Príspevky: 21 Témy: 5 | Napísal autor témy lukas15: 14.11.2011 17:02 | |
|
ten search to je len názov formulára v html
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal camo: 14.11.2011 17:09 | |
|
Dobre tak za odmenu to skús s týmto: /^(\d+,)*\d+$/
Takze: if( ! elem.value.test(patern)){ alert('BUBUBU'); }
|
|
Registrovaný: 10.11.11 Prihlásený: 04.08.17 Príspevky: 21 Témy: 5 | Napísal autor témy lukas15: 14.11.2011 17:39 | |
|
Kde to tam mám dopísať? Napíš to prosím ťa do toho skriptu.
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal camo: 14.11.2011 19:58 | |
|
Kód: function valid(){ patern = /^(\d+,)*\d+$/; if( ! document.getElementById("wavenumber").value.test(patern)){ alert ('Zadali ste nesprávny formát pri zadávaní frekvencie!!!'); return false; }
return true; }
<form action = "stranka" method = "post" name = "search" onsubmit="return valid()" > <input type = "text" name = "wavenumber" onkeypress="return isNumberKey(event)" /> <input class = "submit" type = "submit" name = "submit" value = "Hľadať"/> </form> // pridané po 2 hodinách 13 minútach od posledného príspevkuEDIT:Tak sorry tu je to už ok(ak tam máš ovšem fciu isNumberKey()): Kód: function valid(){ var patern = /^(\d+,)*\d+$/ ; if(patern.test(document.getElementById('wave').value)){
return true; }
alert ('Zadali ste nesprávny formát pri zadávaní frekvencie!!!'); return false; }
<form action = "stranka" method = "post" name = "search" onsubmit="return valid()" > <input type = "text" name = "wavenumber" id="wave" onkeypress="return isNumberKey(event)" /> <input class = "submit" type = "submit" name = "submit" value = "Hľadať"/> </form>
|
|
Registrovaný: 10.11.11 Prihlásený: 04.08.17 Príspevky: 21 Témy: 5 | Napísal autor témy lukas15: 15.11.2011 15:49 | |
|
ok. vďaka, že si mi s tým pomohol.
|
|
| Stránka: 1 z 1
| [ Príspevkov: 21 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| javascript wysiwyg v javascript popup v JavaScript, VBScript, Ajax | 1 | 849 | 25.07.2009 19:29 Ďuri | | input v HTML, XHTML, XML, CSS | 19 | 1401 | 08.03.2008 14:53 shaggy | | Input v JavaScript, VBScript, Ajax | 1 | 894 | 26.02.2008 7:49 sento | | Input file v HTML, XHTML, XML, CSS | 3 | 658 | 28.04.2008 16:37 stenley | | heigth input v HTML, XHTML, XML, CSS | 5 | 506 | 31.01.2009 19:20 jablko05 | | input index v PHP, ASP | 6 | 551 | 05.07.2009 19:42 php30 | | input - checkbox v PHP, ASP | 1 | 392 | 17.09.2011 21:46 chrono | | input jQuery v JavaScript, VBScript, Ajax | 5 | 576 | 20.07.2010 21:07 walther | | No video input v Monitory, televízory a projektory | 4 | 915 | 08.12.2018 21:42 tatko Tom | | input s filtrom v HTML, XHTML, XML, CSS | 4 | 514 | 19.12.2009 11:35 djsulo | | spravnost input pola v PHP, ASP | 2 | 365 | 20.06.2010 15:14 Ďuri | | input automaticke doplnanie v JavaScript, VBScript, Ajax | 2 | 487 | 30.05.2010 15:46 Achtan | | input default hodnota v JavaScript, VBScript, Ajax | 1 | 837 | 28.06.2007 18:17 sento | | Doplňovanie input poľa v JavaScript, VBScript, Ajax | 2 | 565 | 28.08.2008 13:54 tatysp | | input text - zmizne v JavaScript, VBScript, Ajax | 5 | 520 | 22.10.2014 19:05 shaggy | | Rozdielne hodnoty input, output v Ostatné | 4 | 465 | 06.07.2019 12:56 shiro |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|