ďťż
Podstrony
|
telcocafeMam pewien problem z wstawianiem emotikonek do formularza. Oto kod odpowiedzialny za wyświetlenie emotikonek oraz dodawanie ciągu znaków, którymi są oznaczone emotikony:function list_emots($input_name, $form_name){ $return = "<script language=javascript>function wstawEmot(znaczekEmot){ $form_name.$input_name.value+=znaczekEmot; $form_name.$input_name.focus() }</script>"; $file = file("emots/emots.txt"); reset($file); foreach($file as $linia){ $linia = explode("||", $linia); $linia[0] = explode("*|*", $linia[0]); $wstaw = $linia[0][0]; $obrazek = "emots/$linia[1]"; $return.= "<img src=\"$obrazek\" border=0 onclick=\"wstawEmot('$wstaw')\" alt=\"$wstaw\" style=\"CURSOR:hand\"> "; } return("$return"); } Pod przeglądarką IE wszystko działa, niestety firefox nie chce dodawać ciągu znaków przypisanych do emotikonki. Co zrobić, aby firefox poprawnie wykonywał ten skrypt? To nie wina PHP tylko pewnie Javascriptu więc wrzuć wynik strony z np. dwoma emotkami. O ile to nie jest problem dla początkującego webmastera :) <script language="javascript">function wstawEmot(znaczekEmot){ formularz.komentarz.value+=znaczekEmot; formularz.komentarz.focus() }</script> <img src="emots/good.gif" onclick="wstawEmot(':good:')" alt=":good:" style="" border="0"> <img src="emots/neutral.gif" onclick="wstawEmot(':zgorszony:')" alt=":zgorszony:" style="" border="0"> <img src="emots/cool.gif" onclick="wstawEmot(':cool:')" alt=":cool:" style="" border="0"> O ile to nie jest problem dla początkującego webmastera Chyba ktoś tu nie docenia początkujących webmasterów ;) Masz FireBuga? Bo kod jest poprawny,może w innym miejscu masz błąd,ponieważ Firefox jest czuły na błędy (w odróżnieniu od M$IE). Zobacz czy FireBug nie wyświetla jakiegoś błędu. BTW Chciałem po prostu być miły :) Z uśmiechem do ludzi :P Użytkownik andrzej_aa edytował ten post 03 sierpień 2007, 16:23 Wyświetlane są dwa błędy, oto one: Błąd: uncaught exception: Nie udzielono uprawnien do wywolania metody Location.toString Błąd: formularz is not defined Wiersz: 132 Oto linijki kodu: Linia 131: <form method=post name=formularz action="index.php?cmd=zobacz&id=1"> Linia 132: <script language=javascript>function wstawEmot(znaczekEmot){ formularz.komentarz.value+=znaczekEmot; formularz.komentarz.focus() }</script><img src="emots/good.gif" border=0 onclick="wstawEmot(':good:')" alt=":good:" style="CURSOR:hand"> <img src="emots/neutral.gif" border=0 onclick="wstawEmot(':zgorszony:')" alt=":zgorszony:" style="CURSOR:hand"><br /> Linia 133: <textarea name="komentarz" style="width: 300px; height: 150px;"></textarea><br> Linia 134: <input type="submit" name="submit_komentarz" value="Dodaj komentarz"></form> Ech,już wiem . . . Odwołuj się do wartości pola komentarz tym kodem:document.getElementById('komentarz').valueTo powinno drugi błąd naprawić,a pierwszy może jest wynikiem drugiego? :P Wybacz, ale na js kompletnie się nie znam :/ A więc tak zamieniłem formularz.komentarz.value+=znaczekEmot; na document.getElementById('komentarz').value+=znaczekEmot; i dalej nie działa, a konsola zwraca następujący błąd: Błąd: document.getElementById("komentarz") has no properties Wiersz: 132 Dodaj za lub przedname="komentarz"toid="komentarz"Moje niedopatrzenie :P Wielkie dzięki! Wszystko działa jak powinno. :cheers: |
|||
Sitedesign by AltusUmbrae. |