Да не презарежда страницата

kikity_94

Registered
Здравейте от ето този пост
http://web-tourist.net/forum/viewtopic.php?p=558079#558079
си преработих малко кода според моите нужди и направих така че когато се напише текст в ареата и се цъкне едно бутонче във същатата ареа да се обръща текста на латиница но въпроса ми е как да направя така когато се цъкне това бутонче страницата да не се презарежда
Ето и кода
PHP:
<?php
	$text = $_REQUEST['text'];
	$lang = $_REQUEST['lang'];
	$text = $text;
	$latinic = array("q","w","e","r","t","y","u","i","o","p","a","s","d","f","g","h","j","k","l","z","x","c","v","b","n","m");
	$cyrilic = array("я","в","е","р","т","ъ","у","и","о","п","а","с","д","ф","г","х","й","к","л","з","ь","ц","ж","б","н","м");
	$i = 0;
	if ($lang == "cyrilic") {
		while($i < count($latinic)) {
		$text = str_replace($latinic[$i], $cyrilic[$i], $text);
		$i++;
		}
	}	
	
		echo '<form method="POST" action="">
		<textarea name="text" rows="1" cols="25">'.$text.'</textarea>
		<input type="hidden" name="lang" value="cyrilic" id="langC">
		<input type="submit" value="Кирилизирай " class="btn"/> 
		</form>';
?>
 
Здрасти,

За да не се презарежда имаш нужда от javascript. И сега има 2 варианта - ajax или само javascript. Чрез ajax се обръщаш към някой скрипт, който прави тези трансформации (това може да е този php cкрипт, който имаш в момента) или нещо подобно без ajax:

HTML:
<script type="text/javascript">
// <![CDATA[
    var languages = {
        'latin'   : ["q","w","e","r","t","y","u","i","o","p","a","s","d","f","g","h","j","k","l","z","x","c","v","b","n","m"],
        'cyrilic' : ["я","в","е","р","т","ъ","у","и","о","п","а","с","д","ф","г","х","й","к","л","з","ь","ц","ж","б","н","м"]
    };
    function transliterate(from, to)
    {
        var text = document.getElementById('text').value;

        if (languages[from]) {
            if (languages[to]) {
                for(var i in languages[from]) {
                    text = text.split(languages[from][i]).join(languages[to][i]);
                }
                document.getElementById('text').value = text;
            } else {
                alert(to + ' does not exists!');
            }
        } else {
            alert(from + ' does not exists!');
        }
    }
// ]]>
</script>
<form method="POST" action="">
    <textarea id="text" name="text" rows="10" cols="25"></textarea>
    <br />
    <input type="button" onclick="transliterate('latin', 'cyrilic');" value="Latin to Cyrilic"/>
    <input type="button" onclick="transliterate('cyrilic', 'latin');" value="Cyrilic to Latin"/>
</form>

разбира се това е примерно и променя само с малки букви, но все пак преработих само твойта логика (от php - което пак променя само малки букви) на javascript.
 
@lortnoc благодаряти много стана :) и ЧЕСТИТА ТИ БАБА МАРТА :)
Заслужи си точката :)
 

Back
Горе