2010-09-07 44 views
1

喂友工作,按鈕類型提交不是IE6.0

我需要在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中,儘管我單擊第二個按鈕delete,在$ _POST中,它將返回兩個按鈕的值。 它具有[add_invoice]和[delete]的值。所以我無法弄清楚哪一個被點擊(僅在IE 6.0中)。

請幫我理解這種行爲。讓我知道如果你知道任何其他的選擇。

提前致謝!

回答

3

在IE中<button>元素是buggy。嘗試使用<input type="submit">

編輯:既然你需要它跨越2條線,我建議造型input submit或創建一個圖像,不幸的是。

編輯#2:你也可以使用<!--[if IE 6]>條件將input type='image'提供給IE6和button給其他瀏覽器,如果它真的很重要。

+0

正如他們所說的,他們需要一個帶有兩條文本行的按鈕,這很可能會排除''。 – Joey 2010-09-07 15:21:32

+0

我說只是使用一個'輸入類型=「圖像」'與alt屬性,並完成它。它沒有錯。你也可以用JS修改'submit'上的'button' innerHTML的值,但這太過於誇張了。 – 2010-09-07 15:24:13

+0

感謝您的回覆。我的客戶的網絡速度非常差,我創建的網頁已經有很多圖片。所以我想避免圖像。 – satya 2010-09-07 15:30:05

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如果這是工作,我不知道這是否會如我沒有IE6設置,我無法測試它。

UPDATE

我不知道這將是值得與否,但你可以將它設置這樣的(或函數)具有值被改變。

<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> 

應該將刪除值設置爲空。這是駭人聽聞的,我不確定我是否會這樣做,但它是實現它的一種方式。但是,我可能會將它存儲在一個函數中,然後調用該函數。出於演示/測試的原因,我沒有這樣做這個例子。

+0

感謝您的回覆。我也試過這個,但是在$ _POST中它返回兩個按鈕的值。 – satya 2010-09-07 15:50:08