Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] podglad textarea
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
alpin
mam taki oto kod :

[php:1:b2451d3fa4]<?php
## Utworz plik rus.txt. Ten kod zapisz w pliku zmien.php ##

$akcja=$HTTP_GET_VARS['akcja'];

if ($akcja == "konwertuj")
{
$autor=$HTTP_POST_VARS['autor'];
$tresc=$HTTP_POST_VARS['tresc'];
if ($autor == '') { die ("Brak podpisu"); }
if ($tresc == '') { die ("Brak tresci."); }
$dowcip = ereg_replace("(rn|n|r)", "<br>", $dowcip);

$tresc = str_replace ( "j", "й", $tresc );
$tresc = str_replace ( "c", "ц", $tresc );
$tresc = str_replace ( "u", "у", $tresc );
$tresc = str_replace ( "k", "к", $tresc );
$tresc = str_replace ( "e", "е", $tresc );
$tresc = str_replace ( "n", "н", $tresc );
$tresc = str_replace ( "g", "г", $tresc );
$tresc = str_replace ( "z", "з", $tresc );
$tresc = str_replace ( "h", "х", $tresc );
$tresc = str_replace ( "f", "ф", $tresc );
$tresc = str_replace ( "y", "ы", $tresc );
$tresc = str_replace ( "w", "в", $tresc );
$tresc = str_replace ( "a", "а", $tresc );
$tresc = str_replace ( "p", "п", $tresc );
$tresc = str_replace ( "r", "р", $tresc );
$tresc = str_replace ( "o", "о", $tresc );
$tresc = str_replace ( "l", "л", $tresc );
$tresc = str_replace ( "d", "д", $tresc );
$tresc = str_replace ( "s", "с", $tresc );
$tresc = str_replace ( "m", "м", $tresc );
$tresc = str_replace ( "i", "и", $tresc );
$tresc = str_replace ( "t", "т", $tresc );
$tresc = str_replace ( "b", "б", $tresc );
// brakuje jeszcze pare literek ..

# $tablica = array("w", "q");
# $tablica2 = array("ц","й");

# zapisywanie do pliku
$f=fopen("rus.txt","r+");
$tresc_pliku = fread($f, filesize("rus.txt"));
fclose ($f);
$f=fopen("rus.txt","w+");
fwrite($f, "$autor|||$trescn".$tresc_pliku);
fclose ($f);

echo "Dodano<br><a href=zmien.php?akcja=pokaz>Pokaz wpisy</a><br><a
href=zmien.php>Dodaj wpis</a>";

$fd = fopen ("rus.txt", "r+");
while (!feof ($fd)) {
$tmp = fgets ($fd);
$tmp= explode ('|||', $tmp);
echo "<center>autor: $tmp[0] <br>wpis: $tmp[1] <br><hr><br></center>"; }
fclose ($fd);
echo "<center><br><a href=zmien.php>Dodaj wpis</a></center>";

}
elseif ($akcja == "pokaz")
{

echo "<center><a href=zmien.php>Dodaj wpis</a><br><br></center>";
$fd = fopen ("rus.txt", "r+");
while (!feof ($fd)) {
$tmp = fgets ($fd);
$tmp= explode ('|||', $tmp);
echo "<center>autor: $tmp[0] <br>wpis: $tmp[1] <br><hr><br></center>"; }
fclose ($fd);
echo "<center><br><a href=zmien.php>Dodaj wpis</a></center>";
} else {
echo "<a href=zmien.php?akcja=pokaz>Pokaz wpisy</a><br>
<form method=post action=zmien.php?akcja=konwertuj>
<table align=center>
<tr><td>Autor:</td><td><input name=autor maxlength=20></td></tr>
<tr><td>Tresc:</td><td><textarea name=tresc cols=100 rows=10></textarea></td></tr>
<tr align=center><td></td><td align=center><input align=center type=submit
value=Dodaj name=wyslij ></td></tr></table>
</form>";

### brakujaca czesc kodu ###

# tu ma sie wyswietlac sformatowana pisana aktualnie $tresc

echo "<table align=center>
<tr><td>Podglad:</td><td><textarea name=tresc cols=100 rows=10
value=cos></textarea></td></tr>
</table>";

### koniec brakujacej czesci kodu ###
}


?>[/php:1:b2451d3fa4]
moze ktos wie jak zrobic by piszczac w jednym polu to w drugim wyswietlalo sie, taki podglad ..
z gory dziekuje za pomoc
Vir
Nie wnikając w kod, który podałeś (śpieszę się bo mam dobry film do obejrzenia biggrin.gif ) napisałem coś takiego:

[xml:1:032fda28de]<script type="text/javascript">
function aktualizuj() {
document.test.podglad.value = document.test.tresc.value;
}
</script>[/xml:1:032fda28de]

[xml:1:032fda28de]<form name="test">
<textarea name="tresc" rows="4" cols="33" onKeyDown="aktualizuj()" onKeyPress="aktualizuj()"></textarea>

<textarea name="podglad" rows="4" cols="33" readonly style="background-color: #dcdcdc"></textarea>
</form>[/xml:1:032fda28de]
alpin
OK ! dzieki. polowa sukcesu juz jest smile.gif
a teraz jak jeszcze zrobic zeby w podgladzie byl text po "przejsciach " z $tresc = str_replace ( "j", "й", $tresc );
zalew
php dziala na serwerze... zrob to co zorbiles w php w javascripcie to bedziesz mial po stronie przegladarki... albo przeladowuj strone ale to raczej nie zdrowe piszac tekst zeby po kazdej literze ci sie jakis iframe przeladowywyal.. przepisz to na js...
alpin
tylko w tym problem ze nie wiem jak to przepisac w jave , dzis ze tak powiem to moje pierwsze zetkniecie z java bo tylko ona sie chyba tutaj nadawala, wiec bylbym wdzieczny za przyklad jak to podmieniac/zrobic/przerobic
Vir
Cytat
jak jeszcze zrobic zeby w podgladzie byl text po "przejsciach " z $tresc = str_replace ( "j", "й", $tresc );


No chłopie, mam nadzieję, że będziesz zadowolony z tego co napisałem bo miałem w tym czasie uczyć się do egzaminu ;-)

[php:1:c4f6b07a05]<script type="text/javascript">
// Conversion script
// Code by Vir (white-house@wp.pl)
// Please leave this comment intact :-)

function aktualizuj() {
window.podglad.innerHTML = przekonwertowane();
}

function przekonwertowane() {

znak = new Array(22);
znak[0] = /j/g
znak[1] = /c/g
znak[2] = /u/g
znak[3] = /k/g
znak[4] = /e/g
znak[5] = /n/g
znak[6] = /g/g
znak[7] = /z/g
znak[8] = /h/g
znak[9] = /f/g
znak[10] = /y/g
znak[11] = /w/g
znak[12] = /a/g
znak[13] = /p/g
znak[14] = /r/g
znak[15] = /o/g
znak[16] = /l/g
znak[17] = /d/g
znak[18] = /s/g
znak[19] = /m/g
znak[20] = /i/g
znak[21] = /t/g
znak[22] = /b/g

konw = new Array(22);
konw[0] = "й"
konw[1] = "ц"
konw[2] = "у"
konw[3] = "к"
konw[4] = "е"
konw[5] = "н"
konw[6] = "г"
konw[7] = "з"
konw[8] = "х"
konw[9] = "ф"
konw[10] = "ы"
konw[11] = "в"
konw[12] = "а"
konw[13] = "п"
konw[14] = "р"
konw[15] = "о"
konw[16] = "л"
konw[17] = "д"
konw[18] = "с"
konw[19] = "м"
konw[20] = "и"
konw[21] = "т"
konw[22] = "б"

tab = new Array();

var text = document.test.tresc.value;

for (var i=0; i < konw.length; i++) {

tab[0] = text.replace(znak[0], konw[0]);
tab[i+1] = tab[i].replace(znak[i+1], konw[i+1]);
}

return tab[konw.length];

}

</script>[/php:1:c4f6b07a05]

[xml:1:c4f6b07a05]<form name="test">
<textarea name="tresc" rows="4" cols="33" onKeyUp="aktualizuj()" onKeyPress="aktualizuj()"></textarea>
<div id="podglad"></div>
</form>[/xml:1:c4f6b07a05]

Tabela "znak" zawiera wyrażenia regularne z poszczególnymi znakami, które mają być przekonwertowane. Dzięki użyciu wyrażeń regularnych skrypt zmienia każdy określony znak, gdziekolwiek się pojawi. Tabela "konw" jest tabelą równoległą i zawiera symbole, na które mają być przekonwertowane znaki.
Drugie textarea zniknęło ponieważ w textarea może znaleźć się tylko text. Symbole podane w tabeli "konw" są interpretowane i prawidłowo wyświetlane jedynie jeżeli znajdują się w kodzie html. W tym celu użyłem div-a i funkcji .innerHTML.

Ps.
Zauważ, że okKeyDown zmieniłem na onKeyUp - nie ma "opóźnień".

Ps.
Na IE 6.0 działa bez zarzutu - nawet sprawdziłem wszystkie litery :-)
W razie kłopotów odwiedzę ten topic dopiero w niedzielę - uczę się do egzaminu aaevil.gif - czemu wybrałem zarządzanie, a nie informatykę :cry: ...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.