Ссылка не работает в FF - PullRequest
       20

Ссылка не работает в FF

0 голосов
/ 04 января 2011

Вот ссылка:

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

и его функция 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');
}

Проблема в том, что эта ссылка не работает в FF, но работает в IE, но если я изменю функцию на что-то вроде этого:

<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>

это прекрасно работает во всех браузерах .. Я думаю, что проблема заключается в определении значений функций, FF просто не понимает их ... Кстати, система Workcube и использует Cold Fusion.

Ответы [ 3 ]

2 голосов
/ 04 января 2011

Ваш код совершенно неверен во многих отношениях, чем я могу сосчитать здесь.

Вместо этого есть такая вещь:

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(",");

Это предполагает, что "row_count" является идентификатором элемента ввода сколичество.

Для записи, прямая причина, по которой он не работал в FF, состоит в том, что у него нет document.all вещей, вы не можете получить доступ к элементам DOM через документ напрямую.

0 голосов
/ 04 января 2011

Пожалуйста, попробуйте следующее:

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

и добавьте

return false

в конец функцииплохой код:

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 голосов
/ 04 января 2011

onclick может быть захвачен ребенком <img> и не стреляет корректно.Чтобы исправить это, перемещение события в дочерний элемент, вероятно, будет работать.

Попробуйте:

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

Еще лучше, удалите <a> и просто сделайте изображение кликабельным.Добавьте немного CSS, и вы уже в пути.

...