2011-01-04 16 views
0

Hier ist der Link:Verbindung funktioniert nicht in FF

<a href="javascript://" onClick="print_gonder();"><img src="/images/print.gif" title="Gönder" border="0"></a> 

und seine Funktion print_gonder:

function print_gonder() 
{ 
    var satirsayisi=document.list_basketww.row_count.value; 
    var amnt=new Array(satirsayisi); 
    var prc=new Array(satirsayisi); 
    var kdv=new Array(satirsayisi); 
    var kon=new Array(satirsayisi); 
    var yap=new Array(satirsayisi); 
    var ona=new Array(satirsayisi); 
    var ode=new Array(satirsayisi); 
    var tes=new Array(satirsayisi); 
    for (i=0; i<satirsayisi; i++) 
    { 
     amnt[i]=eval("document.getElementById('amount" + (i+1) + "')").value; 
     prc[i]=filterNum(eval("document.getElementById('price" + (i+1) + "')").value); 
     kdv[i]=eval("document.getElementById('tax_dif" + (i+1) + "')").value; 
     kon=eval("document.getElementById('konu')").value; 
     yap=eval("document.getElementById('yapan')").value; 
     ona=eval("document.getElementById('onay')").value; 
     ode=eval("document.getElementById('odeme')").value; 
     tes=eval("document.getElementById('teslim')").value; 
    } 
    windowopen('<cfoutput>#request.self#?fuseaction=objects2.popup_sale_propose&print=true#page_code#&amnt='+amnt+'&prc='+prc+'&kdv='+kdv+'&konu='+kon+'&yapan='+yap+'&onay='+ona+'&odeme='+ode+'&teslim='+tes+'</cfoutput>','page'); 
} 

Das Problem ist, dass diese Arbeit Link doesnt in FF aber die Arbeit in IE, aber wenn ich ändern sie die Funktion in etwa so aus:

<a href="javascript://" onClick="<cfoutput>windowopen('#request.self#?fuseaction=objects2.popup_sale_propose&print=true#page_code#','page')</cfoutput"><img src="/images/print.gif" title="Gönder" border="0"></a> 

es perfekt in allen Browsern funktioniert .. ich denke, dass das Problem in ist defin Wenn man die Werte der Funktionen in Betracht zieht, versteht die FF sie einfach nicht ... BTW, das System ist Workcube und es verwendet die Cold Fusion.

+0

Können Sie die HTML-Ausgabe der Funktion posten? Und auch post windowpen funktion, Und warum die evals? Und warum Arrays erstellen, die mit einzelnen Strings überschrieben werden? Oder hast du gerade das [i] hinter kon, yap, ona, ode und tes vermisst? – mplungjan

+0

Auch Sie mischen document.getElementById und document.list_basket (Formularzugriff) Wenn zum Beispiel Ihre Formularelemente ID = "..." nicht haben, sondern nur NAME = "...", dann wird IE funktionieren, aber Fx wird nicht seit Ihnen benutze getElementById und nicht getElementsByName (...) [0] – mplungjan

+0

hier kann man schauen, aber es funktioniert nicht, da die Seite selbst auf Coldfusion funktioniert: http://jsfiddle.net/QVVB7/ –

Antwort

2

Ihr Code ist mehr falsch als ich hier zählen kann. Statt

so etwas haben:

var satirsayisi = parseInt(document.getElementById("row_count").value, 10); 

var amntArr = new Array(); 
var prcArr = new Array(); 
var kdvArr = new Array(); 

var kon = document.getElementById('konu').value; 
var yap = document.getElementById('yapan').value; 
var ona = document.getElementById('onay').value; 
var ode = document.getElementById('odeme').value; 
var tes = document.getElementById('teslim').value; 

for (i = 0; i < satirsayisi; i++) 
{ 
    amntArr.push(document.getElementById('amount' + (i+1)).value); 
    prcArr.push(document.getElementById('price' + (i+1)).value); 
    kdvArr.push(document.getElementById('tax_dif' + (i+1)).value); 
} 

var amnt = amntArr.join(","); 
var prc = prcArr.join(","); 
var kdv = kdvArr.join(","); 

Diese übernehmen „row_count“ ist die ID des Eingangselements mit der Zählung.

Für den Datensatz, der direkte Grund, warum es nicht funktioniert in FF ist, weil es keine document.all Sachen hat, können Sie nicht auf DOM-Elemente über das Dokument direkt zugreifen.

+0

ich denke, dass das das Problem sein kann, die var satirsayisi = document.list_basketww.row_count.value; kann nicht richtig geändert werden, wegen der Systemstruktur ... die Funktion, die du mir gegeben hast, funktioniert nicht –

+0

Wir müssen viel mehr Code sehen. Kannst du eine URL oder etwas geben? Es gibt möglicherweise viel mehr Inkonsistenzen in Ihrem Code, die alle Arten von Symptomen geben können – mplungjan

+0

@venom also was * ARE * 'list_basketww' und' row_count'? Bitte posten Sie den HTML-Code, der sie definiert, oder erläutern Sie besser die von Ihnen erwähnte "Struktur". –

-1

Die onclick kann von der Kind gefangen und nicht richtig ausgelöst werden. Um das Problem zu beheben, wird wahrscheinlich das Ereignis zum untergeordneten Element verschoben.

Try this:

<a href="#" > 
    <img src="/images/print.gif" onClick="print_gonder();" title="Gönder" border="0"> 
</a> 

Noch besser wäre es, entfernen Sie die <a> und nur noch das Bild angeklickt werden. Fügen Sie CSS hinzu und Sie sind auf dem Weg.

0

Bitte versuchen Sie dies:

<a href="#" onClick="return print_gonder();"><img src="/images/print.gif" title="Gönder" border="0"></a> 

und

return false 

bis zum Ende der Funktion


UPDATE hinzufügen versuchen, etwas mehr von dem schlechten Code zu beheben:

function print_gonder() { 
    var satirsayisi=document.list_basketww.row_count.value; 
    var amnt=[]; 
    var prc=[]; 
    var kdv=[]; 
    var kon=[]; 
    var yap=[]; 
    var ona=[]; 
    var ode=[]; 
    var tes=[]; 
    for (i=0; i<satirsayisi; i++) { 
     amnt[i]=document.getElementById('amount' + (i+1)).value; 
     prc[i]=filterNum(document.getElementById('price' + (i+1)).value); 
     kdv[i]=document.getElementById('tax_dif' + (i+1)).value; 
     kon[i]=document.getElementById('konu').value; 
     yap[i]=document.getElementById('yapan').value; 
     ona[i]=document.getElementById('onay').value; 
     ode[i]=document.getElementById('odeme').value; 
     tes[i]=document.getElementById('teslim').value; 
    } 
    var url = '<cfoutput>#request.self#?fuseaction=objects2.popup_sale_propose&print=true#page_code#</cfoutput>'; 
    url += '&amnt='+amnt+'&prc='+prc+'&kdv='+kdv+'&konu='+kon+'&yapan='+yap+'&onay='+ona+'&odeme='+ode+'&teslim='+tes; 
    windowopen(url,'page'); 
    return false; 
} 
+0

änderte die Verbindung und fügte die Rückkehr falsch am Ende der Funktion hinzu ... hat nicht geholfen ... –

Verwandte Themen