按钮类型提交在IE6.0中不起作用

时间:2010-09-07 15:17:34

标签: php html

你好朋友,

我需要一个带有文字的按钮,分为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中)。

请帮助我理解这种行为。如果您知道其他任何替代方案,请告诉我。

提前致谢!

2 个答案:

答案 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,不确定我是否会这样做,但它是实现它的一种方式。我可能会将它存储在一个函数中,然后调用该函数。出于演示/测试的原因,我没有为此示例执行此操作。