FF 里的链接失效了

发布于 2024-10-09 22:24:48 字数 1887 浏览 0 评论 0原文

这是链接:

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

Here is the link:

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

and its function 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');
}

The problem is that this link doesnt work in FF but work in IE, but if i change the function into something like this:

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

it perfectly works in all the browsers.. i think that the problem is in defining the values of the functions, the FF just doesnt understand them...
btw, the system is Workcube and it uses the Cold Fusion.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

小嗷兮 2024-10-16 22:24:48

你的代码在很多方面都是完全错误的,我在这里数不完。

改为这样:

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”是具有计数的输入元素的 ID。

郑重声明一下,它在 FF 中不起作用的直接原因是它没有 document.all 内容,您无法直接通过文档访问 DOM 元素。

Your code is utterly wrong in more ways than I can count here.

Have such thing instead:

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

This assume "row_count" is the ID of the input element with the count.

For the record, the direct reason it didn't work in FF is because it has no document.all stuff, you can't access DOM elements via the document directly.

梦境 2024-10-16 22:24:48

请尝试以下操作:

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

并添加

return false

到函数 UPDATE 的末尾


,尝试修复更多错误代码:

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

Please try this:

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

and add

return false

to the end of the function


UPDATE trying to fix some more of the bad code:

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;
}
愛上了 2024-10-16 22:24:48

onclick 可能会被 子级捕获并且无法正确触发。要解决此问题,将事件移动到子元素可能会起作用。

试试这个:

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

更好的是,删除 并让图像可点击。添加一些 CSS 就可以了。

The onclick may be captured by the <img> child and not firing correctly. To fix, moving the event to the child element will probably work.

Try this:

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

Better yet, remove the <a> and just have the image be clickable. Add some CSS and you're on your way.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文