Autor Zpráva
dimi256
Profil *
<script type="text/javascript">
function ct(body){
if (p=document.getElementById('body')){
p.focus();
p.value+=" "+body+" ";
}
}
</script>

<img onclick="ct('**1')" class="smajl" src="./images/x1.gif" alt=":)" />
<img onclick="ct('**2')" class="smajl" src="./images/x2.gif" alt=":D" />
<img onclick="ct('**3')" class="smajl" src="./images/x3.gif" alt=":(" />
<img onclick="ct('**4')" class="smajl" src="./images/x4.gif" alt=":o)" />
<img onclick="ct('**5')" class="smajl" src="./images/x5.gif" alt=";)" />
<img onclick="ct('**6')" class="smajl" src="./images/x6.gif" alt=":'(" />
<img onclick="ct('**7')" class="smajl" src="./images/x7.gif" alt=">:)" />
<img onclick="ct('**8')" class="smajl" src="./images/x8.gif" alt=":B-)" />
<img onclick="ct('**9')" class="smajl" src="./images/x9.gif" alt="8-)" />
<img onclick="ct('**10')" class="smajl" src="./images/x10.gif" alt=":-{" />
<img onclick="ct('**11')" class="smajl" src="./images/x11.gif" alt="=)" />
<img onclick="ct('**12')" class="smajl" src="./images/x12.gif" alt=">:(" />
<img onclick="ct('**13')" class="smajl" src="./images/x13.gif" alt="?" />
<img onclick="ct('**14')" class="smajl" src="./images/x14.gif" alt="!" />
<img onclick="ct('**15')" class="smajl" src="./images/x15.gif" alt="{}" />

Nevite proc mi tohle nefunguje ve firefoxu a v IE ano?
radecek
Profil
Možná?

<script type="text/javascript">
function ct(body){ 
if (p=document.getElementById('body2')){ 
p.focus(); 
p.value+=" "+body+" "; 
} 
} 
</script>


Zkus přejmenovat tu textareu na něco jiného než proměná ve funkci. V FF by se ti to mohlo být. Jinou chybu v tom nevidím :)
Měsíček
Profil
"Jinou chybu v tom nevidím :)"

Protože tady žádná není (IMHO). Argument ve funkci a řetězec ve funkci se bít nemohou (IMHO).
radecek
Profil
Měsíček
Tak proč to v IE jde a v FF ne?
Měsíček
Profil
Třeba pokud má <textarea> name "body2", ale nemá id "body2".
radecek
Profil
Měsíček
To by pak ale nefungovalo v obou ne? Přeci getElementById je jen podle ID.. I když IE :)
Měsíček
Profil
http://diskuse.jakpsatweb.cz/index.php?action=vthread&topic=84974&forum=8&page=-1
Měsíček
Profil
Jinak tohle by mělo teoreticky fungovat v IE i v FF.
<script type="text/javascript">
  function $(y){
    if(x=document.getElementById("body")){
      x.focus();
      x.value+=" "+y+" ";
    }
  }
</script>
<style type="text/css">
#smajli img { /* místo těch hloupých tříd */ }
</style>
<div id="smajli">
  <img onclick="$('**1')"  src="./images/x1.gif" alt=":)" >
  <img onclick="$('**2')"  src="./images/x2.gif" alt=":D" >
  <img onclick="$('**3')"  src="./images/x3.gif" alt=":(" >
  <img onclick="$('**4')"  src="./images/x4.gif" alt=":o)" >
  <img onclick="$('**5')"  src="./images/x5.gif" alt=";)" >
  <img onclick="$('**6')"  src="./images/x6.gif" alt=":'(" >
  <img onclick="$('**7')"  src="./images/x7.gif" alt=">:)" >
  <img onclick="$('**8')"  src="./images/x8.gif" alt=":B-)" >
  <img onclick="$('**9')"  src="./images/x9.gif" alt="8-)" >
  <img onclick="$('**10')"  src="./images/x10.gif" alt=":-{" >
  <img onclick="$('**11')"  src="./images/x11.gif" alt="=)" >
  <img onclick="$('**12')"  src="./images/x12.gif" alt=">:(" >
  <img onclick="$('**13')"  src="./images/x13.gif" alt="?" >
  <img onclick="$('**14')"  src="./images/x14.gif" alt="!" >
  <img onclick="$('**15')"  src="./images/x15.gif" alt="{}" > 
</div>
<textarea id="body" cols="10" rows="10"> </textarea>
* Promiň za přepisování názvů, jestli používáš jQuery, přepiš si to zpátky. (vlastně ti bude stačit dodat jen id="body" do tagu <textarea>)
Chamurappi
Profil
Reaguji na Měsíčka:
function $(y){
Specifikace ECMAScriptu nedoporučuje používat znak „$“ na začátku vlastních identifikátorů, vyhrazuje mu speciální význam.
Nechápu, proč jsi zvolil zrovna tento název funkce.
Měsíček
Profil
Reaguji na Chamurappiho:

"Specifikace ECMAScriptu nedoporučuje používat znak „$“ na začátku vlastních identifikátorů, vyhrazuje mu jiný význam. "

Jaký?

"Nechápu, proč jsi zvolil zrovna tento název funkce."

Random ;-)
Chamurappi
Profil
Reaguji na Měsíčka:
Kapitola 7.6 Identifiers: „This standard specifies one departure from the grammar given in the Unicode standard: The dollar sign ($) and the underscore (_) are permitted anywhere in an identifier. The dollar sign is intended for use only in mechanically generated code.

Dolar (nikoliv jen na začátku) je určen pro mechanicky generované identifikátory. Tak praví konvence (na kterou kdekdo dlabe).
Měsíček
Profil
Reaguji na Chamurappiho:

"Dolar (nikoliv jen na začátku) je určen pro mechanicky generované identifikátory. Tak praví konvence (na kterou kdekdo dlabe)."

Díky, budu se to snažit eliminovat.
dimi256
Profil *
Problém vyřešen, stačilo přidat do textarea - id="body", měl sem tam jen name="body", ale stejnak je to divný proč to IE pobral a Firefox ne?
radecek
Profil
Protože IE :)
Měsíček
Profil
"Problém vyřešen, stačilo přidat do textarea - id="body", měl sem tam jen name="body","

Ano, co jsem asi psal výše? :)

"ale stejnak je to divný proč to IE pobral a Firefox ne?"

Divný to není, přečti si téma, které jsem odkázal výše.

"Protože IE :)"

.. je fajn :)
radecek
Profil
.. je fajn :)

Je fajn kdyby fungovalo tak jak má :) Proč když mám validní kód podle w3c jak HTML tak CSS tak ve všech prohlížečích to vypadá stejně, ale jen v IE ne? :)

Pru uživatele dobrý, ale pro kodéra noční můra .)
Měsíček
Profil
"Je fajn kdyby fungovalo tak jak má :)"

Funguje. Každý prohlížeč má chyby.

"Proč když mám validní kód podle w3c jak HTML tak CSS tak ve všech prohlížečích to vypadá stejně, ale jen v IE ne? :) "

Protože validita (X)HTML a CSS kódu nezaručuje totožný vzhled ve všech prohlížečích (bohudík). Vytvářet stránky, které se zobrazují ve všech prohlížečích není pro kvalitního kodéra noční můrou. Jsou horší věci.

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: