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:

        var btn = document.createElement("input"); 
        btn.setAttribute("type", "button");
        btn.setAttribute("name", "OK");
        btn.setAttribute("id", "OK");        
        btn.setAttribute("value", "OK");        
        btn.setAttribute("onclick", "javascript:checkCookies()");        
        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
btn.onclick=function() { 
    amitfuggvenyhivsz(parameter); 
}
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:

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.

function getMainMenu() {

	new Ajax.Request('ajax.php', 
	{onSuccess:function(transport) {
			var menu = $('mainMenu');			
			var items = transport.responseText.split(',');
			var h = items.length-1;
			for(i = 0; i < h; i++) {
				var k = items[i].split(':');			
		
				var m = document.createElement('li');
					 m.setAttribute('class','doc');
					 m.setAttribute('className','doc');
					 m.setAttribute('id',k[0]);
					 m.onclick=getChildren(this);
					
				var a = document.createElement('a');
					 a.setAttribute('href','index.php?show='+k[0]);					
					 a.innerHTML = k[1];
					 					
					menu.appendChild(m);
					m.appendChild(a);
			}								 			
			
		}
	});
}
18

igy?

ksgy · 2007. Okt. 29. (H), 00.25
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 :)) ).