Autor Zpráva
mercy
Profil
Mám primitivní formulář s javascriptem na vkládání smajlíků:

<script language="JavaScript" type="text/javascript">
function smajliky(emo){
document.all.form.value += emo;
document.all.form.focus();
return;
}
</script>

<form action="index.php" method="post">
<input type="hidden" name="name" value="$name">
<textarea class="pridat" cols="55" rows="8" name="form"></textarea><br />

<a href="javascript:smajliky('**01')"><img src="img/smileys/01.gif" border="0" class="icq" alt="" /></a>
<a href="javascript:smajliky('**02')"><img src="img/smileys/02.gif" border="0" class="icq" alt="" /></a>
<a href="javascript:smajliky('**03')"><img src="img/smileys/03.gif" border="0" class="icq" alt="" /></a>
<a href="javascript:smajliky('**04')"><img src="img/smileys/04.gif" border="0" class="icq" alt="" /></a>
<a href="javascript:smajliky('**05')"><img src="img/smileys/05.gif" border="0" class="icq" alt="" /></a>
<a href="javascript:smajliky('**06')"><img src="img/smileys/06.gif" border="0" class="icq" alt="" /></a>
<a href="javascript:smajliky('**07')"><img src="img/smileys/07.gif" border="0" class="icq" alt="" /></a>
<a href="javascript:smajliky('**08')"><img src="img/smileys/08.gif" border="0" class="icq" alt="" /></a>
<a href="javascript:smajliky('**09')"><img src="img/smileys/09.gif" border="0" class="icq" alt="" /></a>
<a href="javascript:smajliky('**10')"><img src="img/smileys/10.gif" border="0" class="icq" alt="" /></a>
<a href="javascript:smajliky('**11')"><img src="img/smileys/11.gif" border="0" class="icq" alt="" /></a>
<a href="javascript:smajliky('**12')"><img src="img/smileys/12.gif" border="0" class="icq" alt="" /></a>
<a href="javascript:smajliky('**13')"><img src="img/smileys/13.gif" border="0" class="icq" alt="" /></a>
<a href="javascript:smajliky('**14')"><img src="img/smileys/14.gif" border="0" class="icq" alt="" /></a>
<a href="javascript:smajliky('**15')"><img src="img/smileys/15.gif" border="0" class="icq" alt="" /></a>
<a href="javascript:smajliky('**16')"><img src="img/smileys/16.gif" border="0" class="icq" alt="" /></a>
<a href="javascript:smajliky('**17')"><img src="img/smileys/17.gif" border="0" class="icq" alt="" /></a>
<a href="javascript:smajliky('**18')"><img src="img/smileys/18.gif" border="0" class="icq" alt="" /></a>
<a href="javascript:smajliky('**19')"><img src="img/smileys/19.gif" border="0" class="icq" alt="" /></a>
<a href="javascript:smajliky('**20')"><img src="img/smileys/20.gif" border="0" class="icq" alt="" /></a>
<a href="javascript:smajliky('**21')"><img src="img/smileys/21.gif" border="0" class="icq" alt="" /></a>
<br />
<input type="submit" name="action" value="Odeslat" class="odhlasit">
<input type="button" value="Zrušit" onclick="javascript:history.back()" class="odhlasit" />
</form>

Ale vkládání smajlíků mi funguje jenom v Internet Exploreru. Ve Firefoxu ne.. :-( Dokáže mi to to někdo předělat tak, aby to fungovalo v obou prohlížečích?
souki
Profil
že by byl problém v document.all ?
mercy
Profil
Pravděpodobně ano. Problém je v tom, že nevím, co jiného tam místo toho napsat. :-(
souki
Profil

<script language="JavaScript" type="text/javascript">
function smajliky(emo){
document.getElementsByName('form')[0].value += emo;
document.getElementsByName('form')[0].focus();
return;
}
Joker
Profil
úpravy:
<textarea class="pridat" cols="55" rows="8" name="form" id="form"></textarea><br />


<script language="JavaScript" type="text/javascript">
function smajliky(emo){
var form = (document.getElementByID && document.getElementById("form")) ? document.getElementById("form") : false;
form.value += emo;
form.focus();
return;
}
</script>


Komentář:
document.all funguje jen v Internet Exploreru (a myslím, že i v Opeře). U moderních prohlížečů se používá metoda document.getElementById(). Zvládá to i IE6, nebude to chodit akorát na prehistorických prohlížečích jako IE4 (u IE5 si nejsem jistý).
Joker
Profil
Zapomněl jsem v předchozím příspěvku ještě jednu podmínku a nějak mi to nejde upravit, zkusím to znova:
<script language="JavaScript" type="text/javascript">
function smajliky(emo){
var form = (document.getElementByID && document.getElementById("form")) ? document.getElementById("form") : false;
if(form){
form.value += emo;
form.focus();
}
return;
}
</script>
Timy
Profil
OT:

Joker
"document.all funguje jen v Internet Exploreru (a myslím, že i v Opeře)"
Zvládá to i mozilla, ale jenom v quirku http://www.havrlant.net/item/peta-nema-pravdu.html

"Zvládá to i IE6, nebude to chodit akorát na prehistorických prohlížečích jako IE4 (u IE5 si nejsem jistý)."
IE5 to zvládá taky.
mercy
Profil
V Opeře document.all funguje taky.. to už jsem si ověřil
peta
Profil
<script language="JavaScript" type="text/javascript">
function smlWrite(emo){
var f = document["formular"]; //nebo tez document.formular; viz jakpsatweb - javascript - priklady
emo = "**" + (emo<10?"0":"") + emo;
f["form"].value += emo; //f.form
f.form.focus();
//return; ... viz poznamky dole
}
</script>

<form action="index.php" method="post" name="formular">
<input type="hidden" name="name" value="$name">
<textarea class="pridat" cols="55" rows="8" name="form"></textarea>

<div class="smajliky">
<img src="img/smileys/01.gif" onclick="smlWrite(1)" alt=""/>
<img src="img/smileys/02.gif" onclick="smlWrite(2)" alt=""/>
<img src="img/smileys/03.gif" onclick="smlWrite(3)" alt=""/>
<img src="img/smileys/22.gif" onclick="smlWrite(22)" alt=""/>
LEPE
<img src="img/smileys/01.gif" width=16 height=16 onclick="smlWrite(1)" alt=""/>
// viz jakpsatweb - html - obrazky
// a nechapu, k cemu jsi tam mel A HREF, kdyz bez JS to stejne nefunguje a pokud existuje onclick, obvykle funguje o pro IMG
</div>

CSS
div.smajliky img {viz class="icq"...}
Toto téma je uzamčeno. Odpověď nelze zaslat.

0