Autor | Zpráva | ||
---|---|---|---|
FUYO Profil * |
#1 · Zasláno: 6. 10. 2012, 16:34:52
Dobrý den,
potřeboval bych když napíšu nějaký text do jednoho inputu, se také napsal do druhého inputu, lze to nějak? Jde mi oto, že kdy napišu do jednoho Inputu: Ahoj světe! napsalo do druhýho také Ahoj světe! stím že pa kbych si to upravil jak bych potřeboval (odstranění diakritiky) |
||
jenikkozak Profil |
FUYO:
<input type="text" onkeyup="document.getElementById('doplnit').value=this.value"> <input type="text" id="doplnit"> |
||
FUYO Profil * |
#3 · Zasláno: 6. 10. 2012, 19:10:24
a jak to proženu, aby v <input type="text" id="doplnit"> nebyla diakritika?
nějak tam implementovat function utf2ascii($text) { $return = Str_Replace( Array("á","č","ď","é","ě","í","ľ","ň","ó","ř","š","ť","ú","ů","ý","ž","Á","Č","Ď","É","Ě","Í","Ľ","Ň","Ó","Ř","Š","Ť","Ú","Ů","Ý","Ž") , Array("a","c","d","e","e","i","l","n","o","r","s","t","u","u","y","z","A","C","D","E","E","I","L","N","O","R","S","T","U","U","Y","Z") , $text); $return = Str_Replace(Array(" ", "_"), "-", $return); //nahradí mezery a podtržítka pomlčkami $return = Str_Replace(Array("(",")",".","!",",","\"","'"), "", $return); //odstraní ().!,"' $return = StrToLower($return); //velká písmena nahradí malými. return $return; } asi nepude ne? |
||
SeparateSK Profil |
Vytvor si dva scripty, napr. index.php a v tom budeš mať toto:
<script> function VymazExtraZnaky(val,obj){ //kopiruje zmenene val do obj.value val=val.replace(/\[/gi,"\\["); val=val.replace(/\]/gi,"\\]"); val=val.replace(/\&/gi,"[AND_GLOBAL_CHAR]"); val=val.replace(/\\t/gi,"[TAB_GLOBAL_CHAR]"); val=val.replace(/\#/gi,"[SHARP_GLOBAL_CHAR]"); var x; (XMLHttpRequest)?x=new XMLHttpRequest():x=new ActiveXObject("Microsoft.XMLHTTP"); x.onreadystatechange=function(){ if(x.status==200 && x.readyState==4){ obj.value=x.responseText; } } x.open("GET","check.php?text="+val,true); x.send(); } </script> <input type="text" onkeyup="VymazExtraZnaky(this.value,document.getElementById('out'));"> <input type="text" id="out"> <?php function utf2ascii($text) { $return = Str_Replace( Array("á","č","ď","é","ě","í","ľ","ň","ó","ř","š","ť","ú","ů","ý","ž","Á","Č","Ď","É","Ě","Í","Ľ","Ň","Ó","Ř","Š","Ť","Ú","Ů","Ý","Ž") , Array("a","c","d","e","e","i","l","n","o","r","s","t","u","u","y","z","A","C","D","E","E","I","L","N","O","R","S","T","U","U","Y","Z") , $text); $return = Str_Replace(Array(" ", "_"), "-", $return); //nahradí mezery a podtržítka pomlčkami $return = Str_Replace(Array("(",")",".","!",",","\"","'"), "", $return); //odstraní ().!,"' $return = StrToLower($return); //velká písmena nahradí malými. return $return; } $text=str_replace(array("[AND_GLOBAL_CHAR]","[SHARP_GLOBAL_CHAR]","[TAB_GLOBAL_CHAR]"),array("&","#","\t"),$_GET["text"]); $text=str_replace(array("\\[","\\]"),array("[","]"),$text); echo utf2ascii($text); ?> Zakaždým keď napíšeš niečo do textboxu, script sa pripojí na check.php, ktorý vráti hodnotu, ktorú script napíše do druhého checkboxu Edit: Fixnuté bugy ajaxu v tomto scripte: - prenášanie #- keď sa do url dosadí text obsahujúci #, url vypadá takto check.php?text=blabla#inytext, teda ako "kotva" na "inytext" - prenášanie & - keď sa do url dosadí text obsahujúci &, to znamená, že v url je ďalší parameter GET, teda URL vyzerá asi takto: check.php?text=bla&intext - funkčné prenášanie znaku + (nenahradí sa medzerou - ako to normálne robí) |
||
Medvídek Profil |
#5 · Zasláno: 6. 10. 2012, 19:38:16
FUYO:
Radši bych tu fci přepsal do JS, než s každym stiskem klávesy otravovat server požadavkem. |
||
FUYO Profil * |
#6 · Zasláno: 6. 10. 2012, 19:45:11 · Upravil/a: FUYO
díky, bohužel do druhého inputu se nic nenapíše
tedy, pokuď není potřeba odeslat požadavek |
||
SeparateSK Profil |
#7 · Zasláno: 6. 10. 2012, 19:48:52
Ako to? Mne to ide, skús ešte raz, lebo som ten príspevok upravil, mal nejaké bugy :)
|
||
FUYO Profil * |
#8 · Zasláno: 6. 10. 2012, 19:57:40
moje chyba, už to funguje, nicméně, když zadám do prvního inputu ahoj světe jak se máš tak do druhýho napíše ahoj-světe-jak-se-máš
|
||
Mike8748 Profil |
#9 · Zasláno: 6. 10. 2012, 20:04:33
FUYO:
pokud chcete řešení čistě v javascriptu, tak zkuste http://ownroot.net/cool/cool1.php |
||
FUYO Profil * |
#10 · Zasláno: 6. 10. 2012, 20:07:06
Mike8748:
Jo tohle je naprosto parádní, děkuji moc oboum :) |
||
SeparateSK Profil |
Plne prepísané do JS s pridanou funkciou ReplaceArrayJS:
<script> function utf2ascii(text) { var ret=text; var ret =ReplaceArrayJS(new Array("á","č","ď","é","ě","í","ľ","ň","ó","ř","š","ť","ú","ů","ý","ž","Á","Č","Ď","É","Ě","Í","Ľ","Ň","Ó","Ř","Š","Ť","Ú","Ů","Ý","Ž") ,new Array("a","c","d","e","e","i","l","n","o","r","s","t","u","u","y","z","A","C","D","E","E","I","L","N","O","R","S","T","U","U","Y","Z") ,ret); var ret = ReplaceArrayJS(new Array(" ", "_"), "-", ret); //nahradí mezery a podtržítka pomlčkami var ret = ReplaceArrayJS(new Array("(",")",".","!",",","\"","'"), "", ret); //odstraní ().!,"' var ret = ret.toLowerCase(); //velká písmena nahradí malými. return ret; } function ReplaceArrayJS(farr,sarr,text){ var fal=farr.length; var sal=sarr.length; var wArray=true; var wText=""; if(sal==0) wArray=false; else if(sal==1){ wArray=false; wText=sarr; } var ntext=text; for(var i=0;i<fal;i++){ for(var j=0;j<text.length;j++){ if(!wArray) ntext=ntext.replace(farr[i],(wText===undefined)?"":wText); else ntext=ntext.replace(farr[i],(sarr[i]===undefined)?"":sarr[i]); } } return ntext; } function VymazExtraZnaky(val,obj){ obj.value=utf2ascii(val); } </script> <input type="text" onkeyup="VymazExtraZnaky(this.value,document.getElementById('out'));"> <input type="text" id="out"> Edit: Mike ma predbehol , keď som to mal rozpísané :) |
||
FUYO Profil * |
#12 · Zasláno: 6. 10. 2012, 20:23:22
paráda, díky moc, teď nevím co je "lepší", to od Mike, funguje tak jak si představuji, a je to kratší kod, ale má nějaký nevýhody?
|
||
Mike8748 Profil |
SeparateSK:
pravda, muj skriptík nenahrazuje všechno co tvůj, původně byl určen pro přepis titulku stránky na "cool" url a tam se znaky jako #,&,$ apod. nevyskytují (alespoň ne v mém případě) ale není problém potřebné znaky doplňit do pole nodiac, nahradí je to pak taky :) FUYO: skript se liší akorát v seznamu znaků které to nahradí. pokud ti stačí diakritika, tak není problém. pokud chceš ještě jiné znaky nahrazovat, tak do pole nodiac je třeba přípsat kombinace co čím nahradit |
||
SeparateSK Profil |
Zdá sa mi že keď v Mike-eho kóde napíšeš # alebo &, kód na to reaguje tak, že ich vymaže to z URL(chtiec či nechtiac i keď nie sú v poli nodiac), neviem či to je naschvál.
Ale zasa môj kód je dlhý a pri dlhom texte to nejakú chvílku potrvá kôli ReplaceArrayJS funkcií. |
||
FUYO Profil * |
#15 · Zasláno: 6. 10. 2012, 20:27:40
ano já to potřebuji taky na COOL url, tudíž znaky # nebo & nevyužiji
|
||
Časová prodleva: 12 let
|
0