你好朋友,
我需要一个带有文字的按钮,分为2行。文本的长度超过了我的空间。:-)图像不是我的偏好。
我使用了以下代码
<tr>
<td align="center">
<button type="submit" name="add_invoice" id="buttonstyle">
Add to Ready for<br />
Invoicing
</button>
</td>
</tr>
<tr>
<td align="center" colspan="2">
<input type="submit" name="delete" value="Delete">
</td>
</tr>
这在IE 7.0中运行良好。
但是在IE 6.0中我点击第二个按钮删除,在$ _POST中,它返回两个按钮的值。 它的值为[add_invoice]和[delete]。所以我无法弄明白哪一个被点击(仅在IE 6.0中)。
请帮助我理解这种行为。如果您知道其他任何替代方案,请告诉我。
提前致谢!
答案 0 :(得分:3)
IE中的<button>
元素为buggy。尝试使用<input type="submit">
?
编辑:由于你需要它跨越2行,我建议设置input submit
样式或创建图像,不幸的是。
编辑#2:如果真的很重要,你也可以使用<!--[if IE 6]>
条件语将input type='image'
提供给IE6,将button
提供给其他浏览器。
答案 1 :(得分:1)
我不知道这是否有效,但您可以使用javascript onClick
事件来触发提交。
<tr>
<td align="center">
<button type="submit" onClick="document.formname.submit();" name="add_invoice" id="buttonstyle">
Add to Ready for<br />
Invoicing
</button>
</td>
</tr>
请记住将formname
替换为实际的formname,如果这样做,我不知道是否会,因为我没有安装IE6,我无法测试它。
<强>更新强>
我不确定这是否值得,但您可以像这样(或在函数中)设置它以更改值。
<tr>
<td align="center">
<button type="submit" onClick="document.formname.delete.value = ''; document.formname.submit();" name="add_invoice" id="buttonstyle">
Add to Ready for<br />
Invoicing
</button>
</td>
应将删除值设置为空。这是hackish,不确定我是否会这样做,但它是实现它的一种方式。我可能会将它存储在一个函数中,然后调用该函数。出于演示/测试的原因,我没有为此示例执行此操作。