Autor Zpráva
Akali
Profil
Ahoj, snažil jsem se hledat, ale marně..
Potřebuji vložit smajlíka z nového okna do textarey na stránce.. Prozatím jsem slajlíky vkládal ze stejné stránky a vše fungovalo. Ale když nechám vše stejně nastavené a jenom vložím smajlíky do nového okna, v textaree se nic nezobrazí..
Poradil by mi někdo?

Doteď jsem vkládal takto

<script language="javascript" type="text/javascript">
<!--
function smajlik(text) {
if (document.odeslano.text.createTextRange && document.odeslano.text.caretPos)
{
  var caretPos = document.odeslano.text.caretPos;
  caretPos.text =  caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
}
else
   document.odeslano.text.value += text;
   document.odeslano.text.focus(caretPos)
}
//-->
</script> 

<div style="position:absolute; width:100px; height:100px; left:282px; top:50px;"> 
<a href="javascript:smajlik(':-)')"><img src="http://kolobok.us/smiles/standart/smile3.gif"></a>
<a href="javascript:smajlik(':-D')"><img src="http://kolobok.us/smiles/standart/grin.gif"></a>
<a href="javascript:smajlik(':-(')"><img src="http://kolobok.us/smiles/standart/sad.gif"></a>
<a href="javascript:smajlik('%-)')"><img src="http://kolobok.us/smiles/madhouse/wacko2.gif"></a>
<a href="javascript:smajlik(';-)')"><img src="http://kolobok.us/smiles/remake/wink.gif"></a>
<a href="javascript:smajlik(':-O')"><img src="http://kolobok.us/smiles/remake/shok.gif"></a>

<a href="javascript:smajlik('*CRY*')"><img src="http://kolobok.us/smiles/standart/cray.gif"></a>
<a href="javascript:smajlik('*DRINK*')"><img src="http://kolobok.us/smiles/standart/drinks.gif"></a>
<a href="javascript:smajlik('*BRAVO*')"><img src="http://kolobok.us/smiles/standart/clapping.gif"></a>
<a href="javascript:smajlik('*HELP*')"><img src="http://kolobok.us/smiles/standart/help.gif"></a>
<a href="javascript:smajlik('*UMN*')"><img src="http://kolobok.us/smiles/standart/umnik2.gif"></a>
<a href="javascript:smajlik('*MOS*')"><img src="http://kolobok.us/smiles/standart/mosking.gif"></a>
</div>



<form name="odeslano" action="#" method="post">
<textarea name="text" onKeyPress="maxpocet(this,400)" onKeyUp="maxpocet(this,400)" rows="3" cols="30" id="policko">
</textarea><br> 
<input type="submit" name="odeslano" value="Odeslat zprávu">
</form>
Darker
Profil
Funkci na vkládání dej do mateřského okna (toho s textareou) a pak ji z nového okna spusť pomocí
parent.smajlik(text)
Akali
Profil
Omlouvám se za opožděnou reakci.. Do nového okna, když vložím jenom parent.smajlik(text) tak to také nefunguje..

Nové okno
<script language="javascript" type="text/javascript">
parent.smajlik(text)
</script>


<div style="position:absolute; width:100px; height:100px; left:282px; top:50px;"> 
<a href="javascript:smajlik(':-)')"><img src="http://kolobok.us/smiles/standart/smile3.gif"></a>
<a href="javascript:smajlik(':-D')"><img src="http://kolobok.us/smiles/standart/grin.gif"></a>
<a href="javascript:smajlik(':-(')"><img src="http://kolobok.us/smiles/standart/sad.gif"></a>
<a href="javascript:smajlik('%-)')"><img src="http://kolobok.us/smiles/madhouse/wacko2.gif"></a>
<a href="javascript:smajlik(';-)')"><img src="http://kolobok.us/smiles/remake/wink.gif"></a>
<a href="javascript:smajlik(':-O')"><img src="http://kolobok.us/smiles/remake/shok.gif"></a>

<a href="javascript:smajlik('*CRY*')"><img src="http://kolobok.us/smiles/standart/cray.gif"></a>
<a href="javascript:smajlik('*DRINK*')"><img src="http://kolobok.us/smiles/standart/drinks.gif"></a>
<a href="javascript:smajlik('*BRAVO*')"><img src="http://kolobok.us/smiles/standart/clapping.gif"></a>
<a href="javascript:smajlik('*HELP*')"><img src="http://kolobok.us/smiles/standart/help.gif"></a>
<a href="javascript:smajlik('*UMN*')"><img src="http://kolobok.us/smiles/standart/umnik2.gif"></a>
<a href="javascript:smajlik('*MOS*')"><img src="http://kolobok.us/smiles/standart/mosking.gif"></a>
</div>



index.html
<script language="javascript" type="text/javascript">
<!--
function smajlik(text) {
if (document.odeslano.text.createTextRange && document.odeslano.text.caretPos)
{
  var caretPos = document.odeslano.text.caretPos;
  caretPos.text =  caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
}
else
   document.odeslano.text.value += text;
   document.odeslano.text.focus(caretPos)
}
//-->
</script> 

<form name="odeslano" action="#" method="post">
<textarea name="text" onKeyPress="maxpocet(this,400)" onKeyUp="maxpocet(this,400)" rows="3" cols="30" id="policko">
</textarea><br> 
<input type="submit" name="odeslano" value="Odeslat zprávu">
</form>



<a href="smajl.html" onclick="window.open('smajl.html','_blank','menubar=no,top=10'); return false">okno bez lišt</a>
joe
Profil
Nejsem si jistý, jestli stačí jen parent nebo musíš psát window.parent

Jinak by ten tvůj kód šel ale daleko lépe upravit, HTML:

Tomuto divu dej nějaký identifikátor, například id="smajlici"
<div style="position:absolute; width:100px; height:100px; left:282px; top:50px;"> 


Tenhle kód
<a href="javascript:smajlik(':-)')"><img src="http://kolobok.us/smiles/standart/smile3.gif"></a>

změň na daleko jednodušší
<img src="http://kolobok.us/smiles/standart/smile3.gif" alt=":-)">


JavaScript:
function smajlik() {

    var v = this.getAttribute('alt');

    if (document.odeslano.text.createTextRange && document.odeslano.text.caretPos)
    {
      var caretPos = document.odeslano.text.caretPos;
      caretPos.text =  caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? v + ' ' : v;
    }
    else
       document.odeslano.text.value += v;
       document.odeslano.text.focus();
    }

}

var smajlici = document.getElementById('smajlici').getElementsByTagName('img');
for(var i = 0; i < smajlici.length; i++) {
  smajlici[i].onclick = smajlik;
}
_es
Profil
Darker:
Globálna vlastnosť parent neodkazuje v tomto prípade na správne okno.

Akali:
Treba použiť také niečo, čo ti tu radili, no namiesto parent použiť vlastnosť opener.
Obsi
Profil
http://www.hawwwran.com/index.php?str=js&priklad=kommo
Mohlo by to být tohle? Promiňte, ale nevyznám se v tom, kdyžtak to smažte..
Akali
Profil
Vůbec si nevím rady, jak opener použít.. Nevím o JS téměř nic :(
_es
Profil
Akali:
jak opener použít
Tak isto, ako si sa pokúšal použiť parent, len použiješ opener.
Akali
Profil
Čili do nového okna stačí vložit toto?
<script language="javascript" type="text/javascript">
opener.smajlik(text)
</script>

Nefungovalo mi to totiž, proto jsem se zeptal

Ještě jednou přidávám kód..
nové okno
<script language="javascript" type="text/javascript">
opener.smajlik(text)
</script>

<a href="javascript:smajlik(':-)')"><img src="http://kolobok.us/smiles/standart/smile3.gif"></a>
<a href="javascript:smajlik(':-D')"><img src="http://kolobok.us/smiles/standart/grin.gif"></a>
<a href="javascript:smajlik(':-(')"><img src="http://kolobok.us/smiles/standart/sad.gif"></a>
<a href="javascript:smajlik('%-)')"><img src="http://kolobok.us/smiles/madhouse/wacko2.gif"></a>
<a href="javascript:smajlik(';-)')"><img src="http://kolobok.us/smiles/remake/wink.gif"></a>
<a href="javascript:smajlik(':-O')"><img src="http://kolobok.us/smiles/remake/shok.gif"></a>
<a href="javascript:smajlik('*CRY*')"><img src="http://kolobok.us/smiles/standart/cray.gif"></a>
<a href="javascript:smajlik('*DRINK*')"><img src="http://kolobok.us/smiles/standart/drinks.gif"></a>
<a href="javascript:smajlik('*BRAVO*')"><img src="http://kolobok.us/smiles/standart/clapping.gif"></a>
<a href="javascript:smajlik('*HELP*')"><img src="http://kolobok.us/smiles/standart/help.gif"></a>
<a href="javascript:smajlik('*UMN*')"><img src="http://kolobok.us/smiles/standart/umnik2.gif"></a>
<a href="javascript:smajlik('*MOS*')"><img src="http://kolobok.us/smiles/standart/mosking.gif"></a>


index.html (stránka s textareou)
<script language="javascript" type="text/javascript">
<!--
function smajlik(text) {
if (document.odeslano.text.createTextRange && document.odeslano.text.caretPos)
{
  var caretPos = document.odeslano.text.caretPos;
  caretPos.text =  caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
}
else
   document.odeslano.text.value += text;
   document.odeslano.text.focus(caretPos)
}
//-->
</script> 

<form name="odeslano" action="#" method="post">
<textarea name="text" onKeyPress="maxpocet(this,400)" onKeyUp="maxpocet(this,400)" rows="3" cols="30" id="policko">
</textarea><br> 
<input type="submit" name="odeslano" value="Odeslat zprávu">
</form>



<a href="smajl.html" onclick="window.open('smajl.html','_blank','menubar=no,top=10'); return false">okno bez lišt</a>
_es
Profil
Akali:
Nevím o JS téměř nic :(
No a to je chyba, naprav to a naštuduj si aspoň základy.

Čili do nového okna stačí vložit toto?
<script language="javascript" type="text/javascript">
opener.smajlik(text)
</script>
Zamysli sa trochu nad tým, čo produkuješ a prídi na to, prečo to je nezmysel a kde inde v tom novom okne treba globálnu vlastnosť opener použiť.
Akali
Profil
Asi jsem pořád v koncích..
_es
Profil
Akali:
Nové okno má vlastný globálny objekt window, tak ako aj pôvodné okno.
Na akú funkciu smajlik sa bude JS v novom okne asi tak odkazovať v kóde:
<a href="javascript:smajlik(':-)')"><img src="http://kolobok.us/smiles/standart/smile3.gif"></a>
Máš v novom okne definovanú funkciu smajlik?
V ktorom okne je funkcia smajlik definovaná?
Akú radu si dostal na prístup k inému oknu?
Akali
Profil
Aha, je mi to konečně všechno jasný, díky

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0