Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Zasto ovo ne radi u IE a radi u Firefox-u

[es] :: Javascript i AJAX :: Zasto ovo ne radi u IE a radi u Firefox-u

[ Pregleda: 487 | Odgovora: 4 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

01011011
Nikola Ivetić
CHICAGO, USA

Član broj: 561
Poruke: 2338
65.216.70.*

ICQ: 45747235
Sajt: www.memorizeme.net


Profil

icon Zasto ovo ne radi u IE a radi u Firefox-u30.04.2008. u 23:49
Code:
    
function UpdateAmountSelected(){

                var sum = 0;
                var gn, elem;
                var prefix = "accountSummary_";
                var lblTotalDue = "_lblTotalDue";

                var frm = document.forms[0];     
                                          
                    for(i=0;i< frm.length;i++)                                
                        {                                                                 
                            e=frm.elements[i];                                   
                            if(e.type=='checkbox' && e.name.indexOf('chkPay') != -1 && e.checked==true)
                            {
                                size = e.name.length;
                                
                                if (size == 27)
                                    item = prefix + e.name.substring(15,20) + lblTotalDue;
                                else if (size == 28)
                                    item = prefix + e.name.substring(15,21) + lblTotalDue;
                                else
                                    item = prefix + e.name.substring(15,22) + lblTotalDue;
                                
                                totalAmount = document.getElementById(item).textContent.substring(1);
                                                                
                                splitAmount = totalAmount.split(",")
                                
                                sum += parseFloat(splitAmount[0] + splitAmount[1])
                            }                    
                        }       
                        alert(sum)
                        //sum = formatCurrency(sum);
                        
                    //    document.getElementById("amtSelected").value = sum;
            }




Evo stavio sam cijelu funkciju, koja kad neko klikne na checkbox dodaje neku vrednost koja je u istom rekordu sa tim checkboxom i na kraju se treba ta vrednost ukucati u textbox.

Da ne sirim pricu, ovo je dio koda od java funkcije koja radi perfektno u firefoxu, a u internet exploreru nece... zasto je ovo slucaj? Da li neki od ovih stvari ne mogu da se koriste u exploreru?

[Ovu poruku je menjao 01011011 dana 01.05.2008. u 01:10 GMT+1]
30.04.2008. u 23:49 

Vlatko Zdrale
Vlatko Zdrale
Chicago, USA

Član broj: 155036
Poruke: 78
*.hsd1.il.comcast.net.

Sajt: www.zemoon.com


Profil

icon Re: Zasto ovo ne radi u IE a radi u Firefox-u01.05.2008. u 01:36
Sta ti daje debugger kao gresku?
Upravo zbog takvih sitnih razlika koje ti uzmu najvise vremena ti se isplati da koristis jquery ili nesto slicno...
01.05.2008. u 01:36 

bzero
dev null
europe

Član broj: 5907
Poruke: 371
*.103.eunet.yu.

Jabber: bzero@elitesecurity.org
Sajt: www.google.com/search?q=b..


Profil

icon Re: Zasto ovo ne radi u IE a radi u Firefox-u01.05.2008. u 08:50
U IE ne postoji textContent, za IE ces morati da koristis innerText.

Never trust an operating system you don't have sources for.
01.05.2008. u 08:50 

01011011
Nikola Ivetić
CHICAGO, USA

Član broj: 561
Poruke: 2338
65.216.70.*

ICQ: 45747235
Sajt: www.memorizeme.net


Profil

icon Re: Zasto ovo ne radi u IE a radi u Firefox-u01.05.2008. u 16:55
Procitao sam ovo za innerText i textContent i to sam popravio tako sto provjeravam koja je vrsta browsera i onda postavljam ali to nije rijesilo problem

Code:
            function UpdateAmountSelected(){
            
                var browserType = navigator.appName;
                var sum = 0;
                var gn, elem;
                var prefix = "accountSummary_";
                var lblTotalDue = "_lblTotalDue";

                var frm = document.forms[0];     
                                          
                    for(i=0;i< frm.length;i++)                                
                        {                                                                 
                            e=frm.elements[i];                                   
                            if(e.type=='checkbox' && e.name.indexOf('chkPay') != -1 && e.checked==true)
                            {
                                size = e.name.length;
                                
                                if (size == 27)
                                    item = prefix + e.name.substring(15,20) + lblTotalDue;
                                else if (size == 28)
                                    item = prefix + e.name.substring(15,21) + lblTotalDue;
                                else
                                    item = prefix + e.name.substring(15,22) + lblTotalDue;
                                
                                if (browserType == "Microsoft Internet Explorer")
                                    totalAmount = document.getElementById(item).innerText.substring(1);
                                else
                                    totalAmount = document.getElementById(item).textContent.substring(1);
                                
                                splitAmount = totalAmount.split(",")
                                
                                sum += parseFloat(splitAmount[0] + splitAmount[1])
                            }                    
                        }       
                        
                        sum = formatCurrency(sum);
                        
                        document.getElementById("amtSelected").value = sum;
            }



Problem se prikazuje na ovoj sledecoj liniji kada koristim Internet Explorer Script debugger.

Code:


if (size == 27)
                                    item = prefix + e.name.substring(15,20) + lblTotalDue;
                                else if (size == 28)
                                  [b]  item = prefix + e.name.substring(15,21) + lblTotalDue;[/b]
                                else
                                    item = prefix + e.name.substring(15,22) + lblTotalDue;


i govori mi da

Microsoft JScript runtime error: Object doesn't support this action

sad to je od zavisnosti koji click kliknem moze biti u prvom ovom if statementu, ili drugom ili trecem. Nije mi jasno jer kad koristim i Firebug debugger za fireforz i ovaj script debugger za mikrosoft i kopiram ovo



Code:
prefix + e.name.substring(15,21) + lblTotalDue;


u watch, ono mi daje pravi rezultat... ali tu puca... Sta mu znaci Object does not support this action... da li neko zna... Kako me ovo nervira, moram da popravim neki bug na starom codu, inace radimo redesign u VS2008 gdje ima javascript debugger, pa ce me to spasiti..


01.05.2008. u 16:55 

01011011
Nikola Ivetić
CHICAGO, USA

Član broj: 561
Poruke: 2338
65.216.70.*

ICQ: 45747235
Sajt: www.memorizeme.net


Profil

icon Re: Zasto ovo ne radi u IE a radi u Firefox-u01.05.2008. u 17:11
Da ne povjerujes... neka od ovih rijeci item, sum, ili size jer rezervisana rijec u internet exploreru i zato mi nije radilo... samo sam promijenio imena od promjenjivih i sve radi kako treba...

uzas, koliko sam se namucio da skontam to...

hvala svima na odgovorima.
01.05.2008. u 17:11 

[es] :: Javascript i AJAX :: Zasto ovo ne radi u IE a radi u Firefox-u

[ Pregleda: 487 | Odgovora: 4 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.