Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] Tablica i generowanie
dezerter_af
post
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 1.04.2011

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


Witam,

Dzięki pomocy użytkownikom i dzięki internetowi mam pewien kawałek kodu. Z JS nigdy nie miałem styczności, tylko wiem jak go wstawić na stronę (IMG:style_emoticons/default/smile.gif) Mam dwie tablice (gdzieś przeczytałem, że można tak zrobić). Chcę aby text wprowadzony w input id "nazwa" był rozbijany na znaki i kodowany wg tablica2.

  1. <input type="text" id="nazwa" onKeyUp="symbole();">
  2. <input type="text" id="symbol" readonly="readonly">
  3. <script type="text/javascript">
  4. function symbole() {
  5. var tablica = [];
  6. var tablica1 = new Array('a','ą','b','c','ć','d','e','ę','f','g','h','i','j','k','l','ł','m','n','ń','o','ó','p','q','r','s','ś','t','u','v','w','x','y','z','ź','ż');
  7. var tablica2 = new Array('a1','a2','b3','c4','c5','d6','e7','e8','f9','g1','h2','i3','j4','k5','l6','l7','m8','n9','n1','o2','o3','p4','q5','r6','s7','s8','t9','u1','v2','w3','x4','y5','z6','z7','z8');
  8. tablica array ["a, b, c"] = array "1, 2, 3";
  9. tablica["qq"] = "symbol 2";
  10. tablica["foo"] = "symbol trzeci";
  11. nazwa = document.getElementById("nazwa");
  12. symbol = document.getElementById("symbol");
  13. symbol.value = tablica[nazwa.value] !== undefined ? tablica[nazwa.value] : "";
  14. }


Pozdrawiam,
Sergiusz Kotecki

W zasadzie to wpadłem na nowy trop czyli str.replace.
Ale tak jak mówiłem nigdy nie miałem styczności z JS i już po prostu wariuje bo nie wiem jak mam to zrobić. Czyli wpisuje w jeden input tekst a on jest zamieniany na kod. Czyli tak jak wg. poniższego skryptu.

Bardzo proszę o pomoc.

  1. <input type="text" id="nazwa" onKeyUp="symbole();">
  2. <input type="text" id="symbol" readonly="readonly">
  3. <script type="text/javascript">
  4. function symbole() {
  5. var tablica = [];
  6. var tablica1 = new Array('a','ą','b','c','ć','d','e','ę','f','g','h','i','j','k','l','ł','m','n','ń','o','ó','p','q','r','s','ś','t','u','v','w','x','y','z','ź','ż');
  7. var tablica2 = new Array('a1','a2','b3','c4','c5','d6','e7','e8','f9','g1','h2','i3','j4','k5','l6','l7','m8','n9','n1','o2','o3','p4','q5','r6','s7','s8','t9','u1','v2','w3','x4','y5','z6','z7','z8');
  8. wartosc_input = $("nazwa").val();
  9. wartosc_input = str_replace(tablica1, tablica2, wartosc_input);
  10.  
  11. nazwa = document.getElementById("nazwa");
  12. symbol = document.getElementById("symbol");
  13. symbol.value = tablica2[nazwa.value] !== undefined ? tablica2[nazwa.value] : "";
  14. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dezerter_af
post
Post #2





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 1.04.2011

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


WOW! Ten kod działą najlepiej ze wszystkich które zostały podane.

Dziękuje bardzo mocno : )

Jeszcze ostatnie pytanie, wczoraj byłem w domu jak to pisałem. Teraz nie działa sprawdzanie czy login jest zajęty czy nie. Da się coś na to poradzić czy pozostaje już zrezygnować ze sprawdzania czy login jest zajęty ?

  1. <tr>
  2. <td class="tklient_panel_n">login</td>
  3. <td class="tklient_panel_w">
  4. <input type="text" name="login" value="<?php echo $klient_login ?>" onkeyup="sprawdz_login(<?php echo $id ?>)" id="login">
  5. <div style="display: inline" id="login_status"></div>
  6. </td>
  7. </tr>
  8. <tr>
  9. <td class="tklient_panel_n">hasło</td>
  10. <td class="tklient_panel_w"><input type="text" name="haslo" id="haslo" value="<?php echo $klient_haslo ?>"></td>
  11. </tr>
  12. <script type="text/javascript">
  13. function change( char ){
  14. var a1,a2;
  15. char = char.toLowerCase();
  16. a1 = ['a','ą','b','c','ć','d','e','ę','f','g','h','i','j','k','l','ł','m','n','ń','o','ó','p','q','r','s','ś','t','u','v','w','x','y','z','ź','ż'];
  17. a2 = ['a1','a2','b3','c4','c5','d6','e7','e8','f9','g1','h2','i3','j4','k5','l6','l7','m8','n9','n1','o2','o3','p4','q5','r6','s7','s8','t9','u1','v2','w3','x4','y5','z6','z7','z8'];
  18. return (a2[ a1.indexOf( char ) ] || '');
  19. }
  20. document.getElementById('login').onkeyup = function(){
  21. var i,el;
  22. el = document.getElementById('haslo');
  23. el.value = '';
  24. for( i=0; i<this.value.length; i++){
  25. el.value += change( this.value[i] );
  26. }
  27. }
  28. </script>


A tutaj funkcja sprawdzająca login:
  1. function sprawdz_login(klient)
  2. {
  3. login=document.getElementById("login").value;
  4.  
  5. if ( login.length>0 )
  6. {
  7. var xmlhttp;
  8.  
  9. if ( window.XMLHttpRequest )
  10. {
  11. xmlhttp=new XMLHttpRequest();
  12. }
  13. else
  14. {
  15. xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  16. }
  17.  
  18. xmlhttp.onreadystatechange=function()
  19. {
  20. if ( xmlhttp.readyState==4 && xmlhttp.status==200 )
  21. {
  22. document.getElementById("login_status").innerHTML=xmlhttp.responseText;
  23. }
  24. }
  25.  
  26. xmlhttp.open("GET","sprawdz_login_klient.php?login="+login+"&klient="+klient+"&nr="+Math.random(),true);
  27.  
  28. xmlhttp.send();
  29. }
  30. else
  31. {
  32. document.getElementById("login_status").innerHTML="";
  33. }
  34. }


@bump
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 1.10.2025 - 13:10