Autor Zpráva
OBr
Profil
Můžete mi pomoci s tímto scriptem? Po kliknutí na INPUT se zobrazí DIV, a chci aby se po ztracení focusu DIV skryl. Problém je že chci aby se po kliknutí na DIV doplnil jeho obsah zpět do INPUTu. Jak zajistit aby se akce v onbluru buď neprovedla, nebo provedla až po onclicku? Pokud možno bez použití časovače.
<input type="text" id="txt">
<div id="txt_data" style="display:none;">
text
</div>
<script type="text/javascript">
txt = document.getElementById("txt");
txtdata = document.getElementById("txt_data");

txt.onfocus = function(){
   txtdata.style.display="block";
};
txt.onblur = function(){
   txtdata.style.display="none";
};
txtdata.onclick = function(){
   txt.value = o_txtdata.innerHTML;
};

</script>
patlal
Profil
Objekt o_txtdata neexistuje.
pcmanik
Profil
A je zvykom premenne v javascripte definovat var = ...
OBr
Profil
Dobrá, tak oprava
<input type="text" id="txt">
<div id="txt_data" style="display:none;">
text
</div>
<script type="text/javascript">
var txt = document.getElementById("txt");
var txtdata = document.getElementById("txt_data");

txt.onfocus = function(){
   txtdata.style.display="block";
};
txt.onblur = function(){
   txtdata.style.display="none";
};
txtdata.onclick = function(){
   txt.value = txtdata.innerHTML;
};

</script>

Nic to ale nemění na tom že txtdata.onclick se neprovede protože se onblurem skryje.
Keeehi
Profil
Třeba takto:
<input type="text" id="txt">
<div id="txt_data" style="display:none;">
text
</div>
<script type="text/javascript">
var skryt = true;
var txt = document.getElementById("txt");
var txtdata = document.getElementById("txt_data");

txt.onfocus = function(){
   txtdata.style.display="block";
};
txt.onblur = function(){
  if(skryt)
    txtdata.style.display="none";
};
txtdata.onclick = function(){
   txt.value = txtdata.innerHTML;
   txt.focus();
};
txtdata.onmouseover = function(){
   skryt=false;
};
txtdata.onmouseout = function(){
   skryt=true;
};

</script>
OBr
Profil
Keeehi : Jednoduché a funkční, diky moc.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0