javascript - IE 6 和多个按钮元素都发送它们的名称和值

标签 javascript php internet-explorer internet-explorer-6

当在表单中使用多个按钮元素时,我意识到 IE7 发送的是innerHTML 而不是按钮的值。我想一切都好,我只需将我的 PHP 代码更改为这个

<?php

if (isset($_POST['button-name'])) {
   add_product_to_cart(2);
}

?>

现在我的老 friend IE6 变得更令人讨厌了。无论我单击哪一个,它都会发送所有按钮元素。例如,我有 3 个名为“mint”、“near-mint”和“standard”的按钮元素。快速的 print_r($_POST) 告诉我所有 3 个名字都已提交。

我猜要解决这个问题需要一些 JavaScript,这不是最优雅的情况,但我可以想象,仍在使用 IE6 的普通用户还不够聪明,无法关闭他们的 JavaScript。

我该如何解决这个问题?

最佳答案

我在 http://www.codecomments.com/JavaScript/message756646.html 找到了解决方案

所有内容均归功于该页面的作者。

根据请求,这是代码

function buttonfix(){
var buttons = document.getElementsByTagName('button');
for (var i=0; i<buttons.length; i++) {
buttons[i].onclick = function () {
for(j=0; j<this.form.elements.length; j++)
if( this.form.elements[j].tagName == 'BUTTON' )
this.form.elements[j].disabled = true;
this.disabled=false;
}
}
}
window.attachEvent("onload", buttonfix);

关于javascript - IE 6 和多个按钮元素都发送它们的名称和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/567958/

相关文章:

javascript - 位置是否在多边形内找到 C#

javascript - 在 JavaScript 中获取日期

php - 从 SQL Server 2012 和 PHP 填充的动态表中的额外行

php - 如何访问实体属性的原始值?

css - IE 中的这个 "box-shadow"有什么问题?

javascript - XDomainRequest 上的访问被拒绝错误

javascript - Electron 无法在渲染器进程中找到远程模块

php - PHP 错误输出是如何进入 SQL 查询的……?

javascript - Internet Explorer 中的文本换行不正确

javascript - Node JS HTTP 代理挂了