2015-04-17 44 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) –