Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zmiana kropki na przecinek
kubax33
post 3.05.2013, 14:55:31
Post #1





Grupa: Zarejestrowani
Postów: 157
Pomógł: 1
Dołączył: 27.01.2010

Ostrzeżenie: (0%)
-----


tamat często poruszany jednak równie często zauważyłem bez konretnego rozwiązania na forum.

  1. <script type="text/javascript">
  2.  
  3. function check(Sender,e){
  4. var key = e.which ? e.which : e.keyCode;
  5. if(key == 44){
  6. Sender.value += '.';
  7. return false;
  8. }
  9. }
  10.  
  11. function check(Sender,e){
  12. var key = e.which ? e.which : event.keyCode;
  13. if(key == 44){
  14. if (document.selection) { //IE
  15. var range = document.selection.createRange();
  16. range.text = '.';
  17. } else if (Sender.selectionStart || Sender.selectionStart == '0') {
  18. var start = Sender.selectionStart;
  19. var end = Sender.selectionEnd;
  20. Sender.value = Sender.value.substring(0, start) + '.' +
  21. Sender.value.substring(end, Sender.value.length);
  22. Sender.selectionStart = start+1;
  23. Sender.selectionEnd = start+1;
  24. } else {
  25. Sender.value += '.';
  26. }
  27. return false;
  28. }
  29. }
  30. </script>


  1. <input type='text' onkeypress='return check(this,event);'>


Skrypt zmienia przecinki na kropki jednak jeśli wklejam skopiowaną liczbę przecinek i tak zostaje. Czy można ten skrypt dostosować, aby dynamicznie zmieniał też wklejoną liczbę, a nie tylko manulanie wpisaną przez użytkownika? Jeśli nie to może ktoś posiada jakieś ciekawe rozwiązanie spełanijące te wymagania.


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
pitu
post 3.05.2013, 15:51:14
Post #2





Grupa: Zarejestrowani
Postów: 476
Pomógł: 96
Dołączył: 10.04.2008
Skąd: Koszalin

Ostrzeżenie: (0%)
-----


Z wykorzystaniem jQuery.

http://jsfiddle.net/px4wu/


--------------------
HTML/CSS/JS: jsfiddle
SQL: sqlfiddle
Go to the top of the page
+Quote Post
kubax33
post 3.05.2013, 17:32:07
Post #3





Grupa: Zarejestrowani
Postów: 157
Pomógł: 1
Dołączył: 27.01.2010

Ostrzeżenie: (0%)
-----


Umieściłem kod jquery w pliku: plik.js
textarea w pliku: index.html
  1. <script src="plik.js"></script>
  2. <input type='text' onkeypress='return check(this,event);'>


i niestety nie działa chociaz widzę w przesłanym przykładzie funkcjonuje to właśnie w taki na jakim mi zależało.
Posiadam serwer w OVH perso czy może tam nie ma jQuery 2.0 ale wątpie...

Ten post edytował kubax33 3.05.2013, 17:33:40
Go to the top of the page
+Quote Post
kamil4u
post 3.05.2013, 19:45:05
Post #4





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


jQuery się dołącza poprzez <script>. Przeczytaj jakiś bardzo podstawowy kurs o nim.


--------------------
Go to the top of the page
+Quote Post
kubax33
post 4.05.2013, 12:09:27
Post #5





Grupa: Zarejestrowani
Postów: 157
Pomógł: 1
Dołączył: 27.01.2010

Ostrzeżenie: (0%)
-----


Dobrze wiedzieć. Dołączyłem w ten sposób co robię źlę, że to nie działa?

  1. <head>
  2. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
  3.  
  4. <script type="text/javascript">
  5.  
  6. $("#txt").bind("change keyup input",function(){
  7. text = this.value.replace(",",".");
  8. $("#txt").val(text);
  9. });
  10.  
  11. </script>
  12.  
  13.  
  14. </head>
  15.  
  16. <textarea id="txt"></textarea>
Go to the top of the page
+Quote Post
kamil4u
post 4.05.2013, 12:22:20
Post #6





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


W tym miejscu nie masz jeszcze załadowanego DOM-u. Jeśli Cię nie interesuje JS to bez zbędnych opisów: http://api.jquery.com/ready/

Czyli:
Kod
$(function() {
[[[[Twój kod]]]]
});


--edit--
Jeśli Cię interesuje to się pytaj to podeślę jakieś linki.

Ten post edytował kamil4u 4.05.2013, 12:23:08


--------------------
Go to the top of the page
+Quote Post
kubax33
post 4.05.2013, 12:57:32
Post #7





Grupa: Zarejestrowani
Postów: 157
Pomógł: 1
Dołączył: 27.01.2010

Ostrzeżenie: (0%)
-----


Dziękuje faktycznie pomogło.

  1. <head>
  2. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
  3.  
  4. <script type="text/javascript">
  5. $(function() {
  6. $("#txt").bind("change keyup input",function(){
  7. text = this.value.replace(",",".");
  8. $("#txt").val(text);
  9. text = this.value.replace(" ","");
  10. $("#txt").val(text);
  11. });
  12. });
  13. </script>
  14.  
  15.  
  16. </head>
  17.  
  18. <textarea id="txt"></textarea>
  19.  


dodatkowo dodałem przydatne usunięcie spacji mam nadzieję, że w dobry sposób ponieważ funkcjonuje
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 06:42