Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: Dacid 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.
-
nechapu, co presne tim myslis
chces udelat, kdyz do html prvku textarea nebo jineho zapises nejaky text, tak aby ho to zmenilo na jiny?
-
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.
-
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
-
Takže jak to bude vypadat?
-
V HTML dokumente si vytvor INPUT:
<input id="textove-pole" type="text" />
A v js:
var textovePole = $("#textove-pole");
textovePole.val("Nová hodnota");
Ak chceš vytvárať textové pole dynamicky (priamo v JS):
var placeholder = $("body");
var textovePole = $("<input>",
{
type: "text",
val: "Textová hodnota"
});
placeholder.append(textovePole);
-
A kde je v kódu něco jako:
Text=Výsledek
Pat=Mat
?
-
var vysledok = textovePole.val();
-
Když tam zadám vysledok to nic nenapíše.
-
to protoze blizzboz pouziva syntaxi jquery
tudiz jeste musis naimportovat jquery knihovnu
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.min.js"></script>
-
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é.
-
Dacid: no presne tak jak to napsal on,tady na ukazku kod
<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" />
-
To jako mění obsah té závorky $("#textove-pole").chang
za
(function(){
$("#textove-pole").val("Nová hodnota");
?
-
Pokud to chápu dobře, tak chceš udělat našeptávač. To není úplně triviální věc.
<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
-
ne
to zmeni obsah inputu s id(#) textove-pole za "Nová hodnota"
nicmene pokud chces udelat naseptavac, s tvoji znalosti je to temer nemozne
-
Moc díky jede to a umí to vypsat třeba čas? Že bych tam zadal vypiš čas a vypsalo by to kolik je hodin. Co tam mám dát místo Nová hodnota?
-
Dacid: no presne tak jak to napsal on,tady na ukazku kod
<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" />
jedna malá výkonnostná optimalizácia. nemá zmysel vytvárať 2 jquery objekty 2x, stačí vytvoriť jeden, priradiť ho do premennej a potom s ním ďalej pracovať.
Dacid: http://jqueryui.com/demos/autocomplete/
-
aha, a nevíš jak tam zadat více informací, že bych změnil:
$("#textove-pole").change(function(ovladac){
$("#textove-pole").val("televize");
za:
(ovladac) = ("televize")
(pes) = ("bouda")
(zoo) = ("zvirata")
(PC) = ("mys")
?
-
if, else if a else... zakladni veci u kazdeho programovaciho jazyka...
blizzboz: jasne, ale pro priklad to ma takhle leps