ugrás a tartalomhoz

IE alatt dinamikusan létrehozott gomb nem hívja meg az onclick függvényt

Poczok · 2007. Szep. 12. (Sze), 14.16
Sziasztok!

Van egy kis problémám az IE nevü förmedvénnyel. Dinamikusan létrehozott gombot kell csinálnom és az onclick hatására egy függvényt kéne meghívnom. Firefox alatt tökéletesen működik is a dolog, de IE alatt nem hívja meg a függvényt. A gombot az alábbi kódrészlettel hoztam létre:
  1. var btn = document.createElement("input");   
  2. btn.setAttribute("type""button");  
  3. btn.setAttribute("name""OK");  
  4. btn.setAttribute("id""OK");          
  5. btn.setAttribute("value""OK");          
  6. btn.setAttribute("onclick""javascript:checkCookies()");          
  7. logindiv.appendChild(btn);  
Előre is köszönöm a segítséget!
 
1

ie nem szereti ...

ksgy · 2007. Szep. 12. (Sze), 14.34
hali

az ie bizony nem szereti a btn.setAttribute("onclick",-et..
helyette sajnos a btn.onclick-et kell hasznalni.. nem szep, de legalabb mukodik :)
3

Köszönöm

Poczok · 2007. Szep. 12. (Sze), 15.04
Köszönöm, így működik. Mondjuk nem értem, hogy így miért nem szereti, véleményem szerint sokkal elegánsabb megoldás a setattribute, dehát ízlések és pofonok... :)
7

Mert nem attribútum

Bártházi András · 2007. Szep. 12. (Sze), 17.50
Az IE azért nem szereti, mert az onclick az nem egy attribútuma az adott elemnek, hanem property-ja, ha jól tippelek. Érdemes utánaolvasni, hogy mi a különbség a property és attribute között HTML esetén, más "érdekességek" megítélésében is segíthet. A legszebb, hogy magyarul mind a kettőt tulajdonságként mondom. ;)

SZVSZ az onclick direktben állítása nem ronda, csak van amikor nem praktikus, kényelmes. Van olyan is, amikor a legegyszerűbb és legcélravezetőbb.
9

ha mar homar...

ksgy · 2007. Szep. 13. (Cs), 10.00
ha mar igy felmerult a kerdes, mi a kulonbseg?
ha szo szerinti ertelmezest vesszuk, akkor az attributum egy fuggveny parametere - ha jol tudom :) - a property pedig egy ertek (string, integer, stb)
tehat akkor az IE ezekszerint kulonbseget tesz a fuggveny es nem fuggveny tipusu attributumok kozt...(?)
13

Onclick eseménykezelő

inf · 2007. Szep. 14. (P), 08.22
Egyébként az onclick eseménykezelő direktben állítgatása szerintem elég elavult dolog, csak senki nem szán rá pár percet, hogy egy ilyesmit átnézzen.
4

Paraméterrel?

Poczok · 2007. Szep. 12. (Sze), 16.04
Azt esetleg meg tudnád mondani, hogy ez esetben a függvényhívást hogy tudnám paraméterezni?
5

erre gondoltal??

ksgy · 2007. Szep. 12. (Sze), 16.43
  1. btn.onclick=function() {   
  2.     amitfuggvenyhivsz(parameter);   
  3. }  
6

Mindent köszi :)

Poczok · 2007. Szep. 12. (Sze), 17.05
Nagyon köszönöm, ez is műxik :) Kicsit sajátságos, de ezt is meg lehet szokni :)
14

"Sajátságos"

inf · 2007. Szep. 14. (P), 08.23
:-) Szerintem inkább alap dolog, ha javascripttel komolyabban szeretnél foglalkozni.
2

weblabor cikk

gex · 2007. Szep. 12. (Sze), 14.40
Bártházi András: Dinamikus betűméret választó című cikke segíteni fog.

off: szvsz nevetséges, hogy ez a kód működik ff-ben.
8

onclcick javascript:kod

Jano · 2007. Szep. 12. (Sze), 18.57
Ez a sor teljesen hibás:
  1. btn.setAttribute("onclick""javascript:checkCookies()");   
Az onclick ott egy javascript kódot vár. A javascript: "protokoll" prefixet akkor kell oda rakni ha mondjuk egy link href-jében hívsz javascript. (Ami egyébként szintén rossz gyakorlat.)

IE-nek csúnyán vannak problémái form elemek előállításával.
10

na igen

gex · 2007. Szep. 13. (Cs), 10.53
Ez a sor teljesen hibás:

erre írtam azt, hogy kár hogy lefut ff-ben.
11

Gondoltam

Jano · 2007. Szep. 13. (Cs), 19.57
Gondoltam, de a kérdező nem találta volna ki.
12

Na ja :)

Poczok · 2007. Szep. 13. (Cs), 23.13
Az tuti :) Legalábbis sokat kellett volna gugliznom hozzá (próbáltam is, nem az volt az első, hogy itt kérdezzek). Mivel a JS elég távol áll eddigi tanulmányaimtól, így kénytelen voltam rengeteg forrást nézegetni, hogy a honlapom elegáns legyen és megfeleljen a kor követelményeinek :) Az alap amit bemásoltam egy javascript tutorialból lett kivéve. Na és itt lép életbe a szakma legnagyobb problémája, hogy már mindenki programozónak és webfejlesztőnek hiszi magát, mert igazi programozók segítettek egyszer neki, aztán fellelkesül és tutorialt ír a hülyeségéről, aki meg tanulni szeretne, az benyeli a **art :(

Bocs a kirohanásomért.
15

Tutorial ügyben

inf · 2007. Szep. 14. (P), 08.28
Szerintem tutorial ügyben nézegesd ezt.
Nem véletlenül írják ezt: "Guide on learning W3C standards" róla.
16

Köszönöm

Poczok · 2007. Szep. 18. (K), 15.07
Köszönöm, ezt fogom használni :)
17

Szintén zenész

Franczen Attila · 2007. Okt. 28. (V), 23.56
Én is éppen az onclick-el szívok, és google ide irányított.

De nekem a fenti változtatás nem hoz eredményt.
Úgy se IE, se Firefox..

Event.observer sem megy, mert az egész dinamikusan van létrehozva, és a kód nem vár meg :D (mármint nincs még mihez kötni az observ-et)

Segítsetek lécci.
  1. function getMainMenu() {  
  2.   
  3.     new Ajax.Request('ajax.php',   
  4.     {onSuccess:function(transport) {  
  5.             var menu = $('mainMenu');             
  6.             var items = transport.responseText.split(',');  
  7.             var h = items.length-1;  
  8.             for(i = 0; i < h; i++) {  
  9.                 var k = items[i].split(':');              
  10.           
  11.                 var m = document.createElement('li');  
  12.                      m.setAttribute('class','doc');  
  13.                      m.setAttribute('className','doc');  
  14.                      m.setAttribute('id',k[0]);  
  15.                      m.onclick=getChildren(this);  
  16.                       
  17.                 var a = document.createElement('a');  
  18.                      a.setAttribute('href','index.php?show='+k[0]);                   
  19.                      a.innerHTML = k[1];  
  20.                                           
  21.                     menu.appendChild(m);  
  22.                     m.appendChild(a);  
  23.             }                                             
  24.               
  25.         }  
  26.     });  
  27. }  
18

igy?

ksgy · 2007. Okt. 29. (H), 00.25
  1. m.onclick=function(){getChildren(this); }  

igy sem?
20

:(

Franczen Attila · 2007. Okt. 29. (H), 11.27
Nem, így sem, de azért köszönöm.
22

a fv sem fut le?

ksgy · 2007. Okt. 29. (H), 12.32
maga a fuggveny sem fut le? nezd meg firebuggal, vagy alert-el, hogy az onclick egyaltalan hozzarendelodik-e
19

Ez a kód mit akar csinálni?

Fraki · 2007. Okt. 29. (H), 04.28
Ez a kód mit akar csinálni?
21

ajax és DHTML ismerkedés

Franczen Attila · 2007. Okt. 29. (H), 11.30
Szimpla dolog lenne, legalábbis én úgy gondoltam az lesz. Kiír menüpontokat, rákatt, akkor az almenüket berakja a főmenüpont alá. Nem nagyon piszkáltam még az ajaxot, sem a prototype-ot, sem pedig a DHTML-t, ezért előfordulhat, hogy ez nem jó megközelítés, de más nem jutott eszembe mikor elkezdtem..
23

szerintem

ksgy · 2007. Okt. 29. (H), 16.30
Szerintem ha mar mindenaron ajaxal akarod a menut, akkor erdemesebb egyben leszedni az egeszet oldalletolteskor, legeneralni, es klikkre csak show/hideolni az almenuket. Keveseb lekerdezes a szervertol, gyorsabb mukodes (te nem anyaznal, ha az almenuk 2-3mp mulva jelennenek meg, mert epp letoltesz valamit/ket a hatterben? :))
24

Igazad van, de...

Franczen Attila · 2007. Okt. 29. (H), 21.38
Igazad van, de ez nem éles oldal, és nem is lesz soha. Ez szimplán játék, ismerkedés. Így a felmerülő problémák, megoldandó feladatok itt nagyobb hangsúllyal vannak.Erre a felmerülő esetre szeretnék megoldást, mert ki tudja, talán később hasznát látom (és mert zavar, ha egy gondra nem találok megoldás :)) ).