| 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: 14 let
|
|||
0