按钮无法在Chrome工作(Button doesn't work in Chrome)

2019-10-16 13:44发布

我有

<button name="foo" value="bar" onclick="submit()" >foobar</button>

当我点击在Firefox按钮,则该值被传递(是富)以及可以读取像下面的值:

dim mode                : mode                = lcase(request("foo"))  

但是,当我执行在Chrome同样的动作为空值。

谁能帮助吗?

Answer 1:

不同的浏览器有不同的默认行为提交的按钮。 如果你想有一个按钮,提交表单(并由此发布其名称和值对),你将不得不使用:

<button type="submit" name="foo" value="bar" >foobar</button>

type属性button可以是提交按钮复位 ,除非明确指定,将从浏览器不同而不同的浏览器。



Answer 2:

你有一个报价失踪。 它应该是这样的:

<button name="foo" value="bar" onclick="submit()" >foobar</button>

此外,提交()是窗体上的方法,所以你必须确保你的按钮中<form></form>标记。

从W3C规范 :

重要提示 :如果您在HTML表单中使用的元素,不同的浏览器可以提交不同的值。 Internet Explorer中,以前的版本9,将提交的文本之间<button></button>标记,而其他浏览器将提交的值属性的内容。 使用<input>元件在HTML表单创建按钮。



Answer 3:

你需要引用您的属性:

<button name="foo" value="bar" onclick="submit()" >foobar</button>

此外“提交”在JavaScript中的保留字。 如果你有一个名为“提交”功能可能无法正常工作。

保留字列表: http://www.javascripter.net/faq/reserved.htm



Answer 4:

如果你将它使谷歌更容易或其他找到你的形式。 将按钮的标题和alt:

 <button name="foo" title="submit" alt="submit for contact" valeu="" onclick="submit()" >foobar</button>


Answer 5:

从我记得,IE浏览器的旧版本(甚至8)只处理好老<input type="submit" />为“真实”的提交按钮,因此发送其价值形态的一部分。 所以<button>在这种浏览器将不发送它的价值。

在HTML更改为这一点,它应该对所有的浏览器:

<input type="submit" name="foo" value="foobar" onclick="this.value = 'bar';" />

由于发送的值是可见的价值,我不得不使用JavaScript的伎俩在点击更改值 - 因为据我所知,不能做到这一点,而不使用客户端脚本。



文章来源: Button doesn't work in Chrome