IT NEWS PC REVUE PC FORUM FreeBSDInternet time: @102
Obsah fóra
Pravidlá  •  Kontakt  •  Prihlásenie  •  Registrácia

Magio Internet

Najobľúbenejší internet teraz získate na prvých 100 dní úplne zadarmo. telekom.sk

Rýchla online pôžička.

Až do výšky 1500 €, bez uvedenia účelu a dodatočných poplatkov. www.proficredit.sk

Aktuálna novinka

Zisti pravdu o stravovaní! Vyšetrovanie odhalilo tajomstvo dokonalého tela. www.news2channel.net

Zaregistruj sa!

Tvoj názor stojí peniaze. Vyplňte dotazník a zarobte si! www.marketagent.com

10 uletených spální.

Túžite po večernom úniku zo stereotypu? Máme pre vás niečo - prinášame vám 10 mojdom.zoznam.sk

input - javascript

Zaslať odpoveď
AutorSpráva
lukas15
Užívateľ
Užívateľ

Založený: 10.11.2011
Príspevky: 16

PríspevokZaslal: So 12.11.11 12:04Odpovedať s citátomNávrat hore

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.
Zobraziť informácie o autoroviOdoslať súkromnú správu
walther
Užívateľ
Užívateľ

Založený: 24.01.2008
Príspevky: 10194
Bydlisko: Bratislava
Vek: 24

PríspevokZaslal: So 12.11.11 12:53Odpovedať s citátomNávrat hore

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/javascript-input-masks/
Zobraziť informácie o autoroviOdoslať súkromnú správu
lukas15
Užívateľ
Užívateľ

Založený: 10.11.2011
Príspevky: 16

PríspevokZaslal: So 12.11.11 14:23Odpovedať s citátomNávrat hore

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
Zobraziť informácie o autoroviOdoslať súkromnú správu
walther
Užívateľ
Užívateľ

Založený: 24.01.2008
Príspevky: 10194
Bydlisko: Bratislava
Vek: 24

PríspevokZaslal: So 12.11.11 15:53Odpovedať s citátomNávrat hore

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)
Zobraziť informácie o autoroviOdoslať súkromnú správu
lukas15
Užívateľ
Užívateľ

Založený: 10.11.2011
Príspevky: 16

PríspevokZaslal: So 12.11.11 16:58Odpovedať s citátomNávrat hore

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">
Zobraziť informácie o autoroviOdoslať súkromnú správu
camo
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 05.09.2009
Príspevky: 1176
Bydlisko: Lehota pod Vtáčnikom

PríspevokZaslal: Po 14.11.11 9:57Odpovedať s citátomNávrat hore

Pridať tam test na regulárny výraz:
patern.test(elem.value)
Zobraziť informácie o autoroviOdoslať súkromnú správuSkypeZobraziť autorove WWW stránky
lukas15
Užívateľ
Užívateľ

Založený: 10.11.2011
Príspevky: 16

PríspevokZaslal: Po 14.11.11 10:11Odpovedať s citátomNávrat hore

Vedel by si to tam aj zakomponovať, lebo ja sa v JS moc nevyznám.
Zobraziť informácie o autoroviOdoslať súkromnú správu
camo
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 05.09.2009
Príspevky: 1176
Bydlisko: Lehota pod Vtáčnikom

PríspevokZaslal: Po 14.11.11 14:06Odpovedať s citátomNávrat hore

Toto daj za to prve return false.

patern=/,,/;
if(patern.test(document.getElementById('txtChar').value){ return false; }
Zobraziť informácie o autoroviOdoslať súkromnú správuSkypeZobraziť autorove WWW stránky
lukas15
Užívateľ
Užívateľ

Založený: 10.11.2011
Príspevky: 16

PríspevokZaslal: Po 14.11.11 15:06Odpovedať s citátomNávrat hore

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">
 
Zobraziť informácie o autoroviOdoslať súkromnú správu
camo
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 05.09.2009
Príspevky: 1176
Bydlisko: Lehota pod Vtáčnikom

PríspevokZaslal: Po 14.11.11 15:19Odpovedať s citátomNávrat hore

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...
Zobraziť informácie o autoroviOdoslať súkromnú správuSkypeZobraziť autorove WWW stránky
lukas15
Užívateľ
Užívateľ

Založený: 10.11.2011
Príspevky: 16

PríspevokZaslal: Po 14.11.11 15:28Odpovedať s citátomNávrat hore

Mohol by si prosím napísať celý ten skript ako to bude vyzerať a tušim tam chýba zátvorka.
Zobraziť informácie o autoroviOdoslať súkromnú správu
camo
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 05.09.2009
Príspevky: 1176
Bydlisko: Lehota pod Vtáčnikom

PríspevokZaslal: Po 14.11.11 15:34Odpovedať s citátomNávrat hore

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...
Zobraziť informácie o autoroviOdoslať súkromnú správuSkypeZobraziť autorove WWW stránky
lukas15
Užívateľ
Užívateľ

Založený: 10.11.2011
Príspevky: 16

PríspevokZaslal: Po 14.11.11 15:49Odpovedať s citátomNávrat hore

Nefunguje to. Ide to tak isto ako predtým.
Zobraziť informácie o autoroviOdoslať súkromnú správu
camo
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 05.09.2009
Príspevky: 1176
Bydlisko: Lehota pod Vtáčnikom

PríspevokZaslal: Po 14.11.11 16:15Odpovedať s citátomNávrat hore

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...
Zobraziť informácie o autoroviOdoslať súkromnú správuSkypeZobraziť autorove WWW stránky
lukas15
Užívateľ
Užívateľ

Založený: 10.11.2011
Príspevky: 16

PríspevokZaslal: Po 14.11.11 17:20Odpovedať s citátomNávrat hore

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
Zobraziť informácie o autoroviOdoslať súkromnú správu
Zobraziť príspevky z predchádzajúcich:    
Zaslať odpoveď
Nemôžete pridávať nové témy do tohto fóra.
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.
Nemôžete hlasovať v tomto fóre.

Powered by phpBB 2.x.x © 2005 - 2012 PCforum, webhosting by WebSupport, edited by JanoF

SEO - optimalizácia pre vyhľadávače

Freebsd