Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 21 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 10.11.11
Prihlásený: 04.08.17
Príspevky: 21
Témy: 5
Príspevok NapísalOffline : 12.11.2011 11:04

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.


Offline

Skúsený užívateľ
Skúsený užívateľ
input - javascript

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 12.11.2011 11:53

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, ...
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 10.11.11
Prihlásený: 04.08.17
Príspevky: 21
Témy: 5
Príspevok Napísal autor témyOffline : 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


Offline

Skúsený užívateľ
Skúsený užívateľ
input - javascript

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 12.11.2011 14:53

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, ...
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 10.11.11
Prihlásený: 04.08.17
Príspevky: 21
Témy: 5
Príspevok Napísal autor témyOffline : 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">


Offline

Užívateľ
Užívateľ
input - javascript

Registrovaný: 05.09.09
Príspevky: 1141
Témy: 127
Bydlisko: Lehota pod ...
Príspevok NapísalOffline : 14.11.2011 8:57

Pridať tam test na regulárny výraz:
patern.test(elem.value)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 10.11.11
Prihlásený: 04.08.17
Príspevky: 21
Témy: 5
Príspevok Napísal autor témyOffline : 14.11.2011 9:11

Vedel by si to tam aj zakomponovať, lebo ja sa v JS moc nevyznám.


Offline

Užívateľ
Užívateľ
input - javascript

Registrovaný: 05.09.09
Príspevky: 1141
Témy: 127
Bydlisko: Lehota pod ...
Príspevok NapísalOffline : 14.11.2011 13:06

Toto daj za to prve return false.

patern=/,,/;
if(patern.test(document.getElementById('txtChar').value){ return false; }


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 10.11.11
Prihlásený: 04.08.17
Príspevky: 21
Témy: 5
Príspevok Napísal autor témyOffline : 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">
 


Offline

Užívateľ
Užívateľ
input - javascript

Registrovaný: 05.09.09
Príspevky: 1141
Témy: 127
Bydlisko: Lehota pod ...
Príspevok NapísalOffline : 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...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 10.11.11
Prihlásený: 04.08.17
Príspevky: 21
Témy: 5
Príspevok Napísal autor témyOffline : 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.


Offline

Užívateľ
Užívateľ
input - javascript

Registrovaný: 05.09.09
Príspevky: 1141
Témy: 127
Bydlisko: Lehota pod ...
Príspevok NapísalOffline : 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...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 10.11.11
Prihlásený: 04.08.17
Príspevky: 21
Témy: 5
Príspevok Napísal autor témyOffline : 14.11.2011 14:49

Nefunguje to. Ide to tak isto ako predtým.


Offline

Užívateľ
Užívateľ
input - javascript

Registrovaný: 05.09.09
Príspevky: 1141
Témy: 127
Bydlisko: Lehota pod ...
Príspevok NapísalOffline : 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...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 10.11.11
Prihlásený: 04.08.17
Príspevky: 21
Témy: 5
Príspevok Napísal autor témyOffline : 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


Offline

Užívateľ
Užívateľ
input - javascript

Registrovaný: 05.09.09
Príspevky: 1141
Témy: 127
Bydlisko: Lehota pod ...
Príspevok NapísalOffline : 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š...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 10.11.11
Prihlásený: 04.08.17
Príspevky: 21
Témy: 5
Príspevok Napísal autor témyOffline : 14.11.2011 17:02

ten search to je len názov formulára v html


Offline

Užívateľ
Užívateľ
input - javascript

Registrovaný: 05.09.09
Príspevky: 1141
Témy: 127
Bydlisko: Lehota pod ...
Príspevok NapísalOffline : 14.11.2011 17:09

:D
Dobre tak za odmenu to skús s týmto: /^(\d+,)*\d+$/
Takze: if( ! elem.value.test(patern)){ alert('BUBUBU'); }


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 10.11.11
Prihlásený: 04.08.17
Príspevky: 21
Témy: 5
Príspevok Napísal autor témyOffline : 14.11.2011 17:39

Kde to tam mám dopísať? Napíš to prosím ťa do toho skriptu.


Offline

Užívateľ
Užívateľ
input - javascript

Registrovaný: 05.09.09
Príspevky: 1141
Témy: 127
Bydlisko: Lehota pod ...
Príspevok NapísalOffline : 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íspevku

EDIT:
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>


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 10.11.11
Prihlásený: 04.08.17
Príspevky: 21
Témy: 5
Príspevok Napísal autor témyOffline : 15.11.2011 15:49

ok. vďaka, že si mi s tým pomohol.


Odpovedať na tému [ Príspevkov: 21 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. javascript wysiwyg v javascript popup

v JavaScript, VBScript, Ajax

1

849

25.07.2009 19:29

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. input

v HTML, XHTML, XML, CSS

19

1401

08.03.2008 14:53

shaggy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Input

v JavaScript, VBScript, Ajax

1

894

26.02.2008 7:49

sento Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Input file

v HTML, XHTML, XML, CSS

3

658

28.04.2008 16:37

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. heigth input

v HTML, XHTML, XML, CSS

5

506

31.01.2009 19:20

jablko05 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. input index

v PHP, ASP

6

551

05.07.2009 19:42

php30 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. input - checkbox

v PHP, ASP

1

392

17.09.2011 21:46

chrono Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. input jQuery

v JavaScript, VBScript, Ajax

5

576

20.07.2010 21:07

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. No video input

v Monitory, televízory a projektory

4

915

08.12.2018 21:42

tatko Tom Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. input s filtrom

v HTML, XHTML, XML, CSS

4

514

19.12.2009 11:35

djsulo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. spravnost input pola

v PHP, ASP

2

365

20.06.2010 15:14

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. input automaticke doplnanie

v JavaScript, VBScript, Ajax

2

487

30.05.2010 15:46

Achtan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. input default hodnota

v JavaScript, VBScript, Ajax

1

837

28.06.2007 18:17

sento Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Doplňovanie input poľa

v JavaScript, VBScript, Ajax

2

565

28.08.2008 13:54

tatysp Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. input text - zmizne

v JavaScript, VBScript, Ajax

5

520

22.10.2014 19:05

shaggy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Rozdielne hodnoty input, output

v Ostatné

4

465

06.07.2019 12:56

shiro Zobrazenie posledných príspevkov


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

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra