Práce s textem v JavaScriptu

Dacid

Práce s textem v JavaScriptu
« kdy: 21. 05. 2011, 17:32:50 »
Jak udělat v JavaScriptu nějaké textové pole do kterého když se zadá třeba kíchnout tak vypíše kýchnout, nebo nějaký jiný text.
« Poslední změna: 21. 05. 2011, 17:37:02 od Petr Krčmář »


DarkKnight

Re: Práce s textem v JavaScriptu
« Odpověď #1 kdy: 21. 05. 2011, 17:47:38 »
nechapu, co presne tim myslis

chces udelat, kdyz do html prvku textarea nebo jineho zapises nejaky text, tak aby ho to zmenilo na jiny?

Dacid

Re: Práce s textem v JavaScriptu
« Odpověď #2 kdy: 21. 05. 2011, 17:52:09 »
Bylo by to pole pro vložení textu, někdo by tam něco napsal a pod tím polem by se něco zobrazilo, ale bylo by určené že když napíše třeba Pat tak to vypíše Mat.

lukove

Re: Práce s textem v JavaScriptu
« Odpověď #3 kdy: 21. 05. 2011, 18:27:44 »
v javascripte su normalne premene, potom staci precitat vstup z text area cez odoslany formular (form) a vlozit tu premenu cez javascriptovsky document.write() skus si dat do googlu tieto pojmy  script,form,textarea,document.write

Dacid

Re: Práce s textem v JavaScriptu
« Odpověď #4 kdy: 21. 05. 2011, 18:31:59 »
Takže jak to bude vypadat?


blizz

Re: Práce s textem v JavaScriptu
« Odpověď #5 kdy: 21. 05. 2011, 18:45:46 »
V HTML dokumente si vytvor INPUT:

Kód: [Vybrat]
<input id="textove-pole" type="text" />
A v js:

Kód: [Vybrat]
var textovePole = $("#textove-pole");
textovePole.val("Nová hodnota");

Ak chceš vytvárať textové pole dynamicky (priamo v JS):

Kód: [Vybrat]
var placeholder = $("body");
var textovePole = $("<input>",
{
    type: "text",
    val: "Textová hodnota"
});
placeholder.append(textovePole);

Dacid

Re: Práce s textem v JavaScriptu
« Odpověď #6 kdy: 21. 05. 2011, 19:22:45 »
A kde je v kódu něco jako:
Text=Výsledek
Pat=Mat
?

blizz

Re: Práce s textem v JavaScriptu
« Odpověď #7 kdy: 21. 05. 2011, 19:27:06 »
Kód: [Vybrat]
var vysledok = textovePole.val();

Dacid

Re: Práce s textem v JavaScriptu
« Odpověď #8 kdy: 21. 05. 2011, 19:47:44 »
Když tam zadám vysledok to nic nenapíše.

DarkKnight

Re: Práce s textem v JavaScriptu
« Odpověď #9 kdy: 21. 05. 2011, 20:56:37 »
to protoze blizzboz pouziva syntaxi jquery

tudiz jeste musis naimportovat jquery knihovnu
Kód: [Vybrat]
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.min.js"></script>

Dacid

Re: Práce s textem v JavaScriptu
« Odpověď #10 kdy: 21. 05. 2011, 22:30:55 »
Aha a jak se to teda děla? Napiš prosím pár slov jako příkladů jako těch které když se tam napíšou tak to vypíše jiné.

DarkKnight

Re: Práce s textem v JavaScriptu
« Odpověď #11 kdy: 21. 05. 2011, 22:45:48 »
Dacid: no presne tak jak to napsal on,tady na ukazku kod

Kód: [Vybrat]
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("#textove-pole").change(function(){
    $("#textove-pole").val("Nová hodnota");
  });
});
</script>

<input id="textove-pole" type="text" />

Dacid

Re: Práce s textem v JavaScriptu
« Odpověď #12 kdy: 21. 05. 2011, 22:57:06 »
To jako mění obsah té závorky $("#textove-pole").chang
za
(function(){
    $("#textove-pole").val("Nová hodnota");
?

buba

Re: Práce s textem v JavaScriptu
« Odpověď #13 kdy: 21. 05. 2011, 23:04:50 »
Pokud to chápu dobře, tak chceš udělat našeptávač. To není úplně triviální věc.

Kód: [Vybrat]
<input type="text" id="pole"/>
<div id="septac" style="display:none;"></div>

<script>
__value = "";
elm = document.getElementById("pole");
elm.onchange = function(){
var elm = document.getElementById("pole");
if( elm.value != __value ){
var septac = document.getElementById("septac");
// nejaky request na server nebo kontrola podle nejakeho slovniku
septac.innerHTML = vracena_hodnota;
septac.style.display = "";
__value = elm.value;
}
}
</script>

Pokud jsem to pochopil špatně, tak se omlouvám.
Jinak zkus guglit: js suggest

DarkKnight

Re: Práce s textem v JavaScriptu
« Odpověď #14 kdy: 21. 05. 2011, 23:43:50 »
ne

to zmeni obsah inputu s id(#) textove-pole za "Nová hodnota"


nicmene pokud chces udelat naseptavac, s tvoji znalosti je to temer nemozne