gpt4 book ai didi

启用 javascript 的按钮在 IE 中不正确发布

转载 作者:行者123 更新时间:2023-11-30 06:36:54 25 4
gpt4 key购买 nike

我在使用 IE9 时遇到问题,在单击最初禁用并通过 javascript 重新启用的按钮时,它没有执行我需要的操作。

我有一个表单(用 perl CGI 构建),它有几个按钮。这些在实际的 html 中都是禁用的,并且在表单完全加载时启用。这样做是为了避免用户在页面完全加载之前保存页面。

在所有浏览器中,按钮最初显示为禁用状态,并在页面完全加载后启用。也在IE中。现在,这些重新启用的按钮在 IE 中单击时不再起作用(已使用 IE 9 进行测试),但它们在 firefox 和 chrome 中按预期工作。

这些按钮之一在 IE 开发人员工具中显示的代码:

<input name="Event_Action" id="syncStream" type="submit" value="Create Sync Stream"/>

创建最初禁用的按钮的代码:

 print $query->submit( -name=>'Event_Action', -value=>$btnCreateSyncStream, -disabled=>'disabled', -id=>'syncStream');

按钮是通过 body 标签的 onload 事件启用的:

<body onload="enableButtons()">
<form method="post" action="/cgi-bin/pdf/pdf.pl?&amp;pdf_id=1071&amp;release=at7.1.0&amp;pdf_patch_rel_phase=b" enctype="application/x-www-form-urlencoded" onsubmit="return validatePatchNr()" name="MYFORM">

javascript 函数 enableButtons:

function enableButtons()
{
var buttons = document.getElementsByName("Event_Action");
for (i=0;i<buttons.length;i++)
{
buttons[i].disabled=false;
}
}

现在,当使用这些重新启用的按钮之一时,IE 似乎重新加载页面,但链接到按钮的实际操作并未执行。同一页面在 Chrome 和 Firefox 中运行正常。这两种浏览器都执行正确的操作。

我怀疑不是表单上的每个字段都被提交,这导致 Perl 脚本无法识别请求的操作,但我还不确定。

我尝试使用 IE 中的开发工具调试该问题,但如果您习惯使用 firebug,那么使用这些工具并不容易。

有人知道这里可能出了什么问题吗?我可能遗漏了一些明显的东西。

最佳答案

您是否尝试过为每个按钮使用不同的名称?通常有些浏览器不提交每个按钮的名称值对,但有些浏览器会这样做。我想您应该将每个按钮的名称更改为唯一的,并使用隐藏字段来确定要执行的操作而不是按钮值。

关于启用 javascript 的按钮在 IE 中不正确发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13914261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com