2015-04-17 48 views
0
function bookingchanneldisable(stopSale){ 
    if (stopSale == "N") { 
      document.getElementById("applicableBookingChannel").readOnly = false; 
      document.getElementById("applicableBookingChannelReservation").readOnly = false; 

     }else{ 
      document.getElementById("applicableBookingChannel").checked = true ; 
      document.getElementById("applicableBookingChannelReservation").checked = false ; 
      document.getElementById("applicableBookingChannel").readOnly = true; 
      document.getElementById("applicableBookingChannelReservation").readOnly = true; 
     } 
} 

這個函數在firefox(ubuntu)中工作正常,但它不能在firefox(windows)中工作。請你能幫我java腳本函數不能在windows工作

+0

問題「.readOnly」不支持,不作爲解決辦法,我使用禁用的屬性,但它在控制檯 –

+0

任何錯誤,沒有任何控制檯錯誤 –

+0

沒有創造另一個問題 –

回答

0

readonly防止用戶更改字段值。所以它適用於可以更改數值(如文本框)的輸入,但它不適用於您不更改數值而是更改字段狀態(如複選框)的輸入。

要解決該問題,您應該使用disabled而不是複選框。就像這樣:

function bookingchanneldisable(stopSale){ 
    if (stopSale == "N") { 
      document.getElementById("applicableBookingChannel").disabled = false; 
      document.getElementById("applicableBookingChannelReservation").disabled = false; 

     }else{ 
      document.getElementById("applicableBookingChannel").checked = true ; 
      document.getElementById("applicableBookingChannelReservation").checked = false ; 
      document.getElementById("applicableBookingChannel").disabled = true; 
      document.getElementById("applicableBookingChannelReservation").disabled = true; 
     } 
} 

看到它在做這個的jsfiddle:http://jsfiddle.net/fg1xLr1h/

+0

作爲一個方面說明,在理論上,使用'disabled'的正確值是「disabled」;和'readonly',它只是[readonly] [在文檔中指定](http://www.w3.org/TR/html-markup/input.text.html) –