我有
<button name="foo" value="bar" onclick="submit()" >foobar</button>
当我点击firefox中的按钮时,值被传输(是foo),我可以读取如下值:
dim mode : mode = lcase(request("foo"))
但是当我在Chrome中执行相同操作时,该值为空。
有人可以帮忙吗?
答案 0 :(得分:5)
不同的浏览器对按钮有不同的默认提交行为。如果您想要一个按钮来提交表单(并因此发布其名称和值对),您将不得不使用:
<button type="submit" name="foo" value="bar" >foobar</button>
button
的类型属性可以提交,按钮或重置,除非这是明确指定的,因浏览器而异。
答案 1 :(得分:1)
你的报价遗失了。它应该是这样的:
<button name="foo" value="bar" onclick="submit()" >foobar</button>
此外,submit()是表单上的一种方法,因此您必须确保您的按钮位于<form></form>
标记内。
重要:如果您在HTML表单中使用该元素,则不同 浏览器可以提交不同的值。 Internet Explorer,早期版本 9,将在
<button>
和</button>
标签之间提交文字 其他浏览器将提交value属性的内容。使用<input>
元素用于在HTML表单中创建按钮。
答案 2 :(得分:0)
您需要引用您的属性:
<button name="foo" value="bar" onclick="submit()" >foobar</button>
“提交”也是JavaScript中的保留字。如果你有一个名为“提交”的功能,它可能无效。
答案 3 :(得分:0)
如果您愿意,Google或其他人可以更轻松地找到您的表单。给按钮一个标题和alt:
<button name="foo" title="submit" alt="submit for contact" valeu="" onclick="submit()" >foobar</button>
答案 4 :(得分:0)
根据我的记忆,IE的旧版本(甚至可能是8个)仅将好的旧<input type="submit" />
视为“真实”提交按钮,该按钮是表单的一部分,从而发送其值。因此,此类浏览器中的<button>
不会发送其值。
将HTML更改为此,它应适用于所有浏览器:
<input type="submit" name="foo" value="foobar" onclick="this.value = 'bar';" />
由于发送的值是看到的值,我不得不使用JavaScript技巧在点击时更改值 - 据我所知,如果不使用客户端脚本,则无法执行此操作。