IE中的jquery屏蔽/警报问题

时间:2009-08-27 16:57:27

标签: javascript jquery internet-explorer

我的桌子上有一个输入框,上面有一个钱输入掩码。我还没有遇到任何问题,但现在它似乎没有正常工作,我无法得到任何警告。

所有这些都是Internet Explorer的问题。在FireFox中正常工作。

在firefox中,掩码正常工作,因为它只允许数字和固定格式,但是,当你在焦点上时,格式或掩码正确显示,但是当你开始输入时,字符是附加,而不是代替面具。它还允许非数字字符。我已尝试在IE中提醒,但这也无法正常工作。我通过谷歌找不到任何关于这个问题的东西..

如果你检查firefox然后IE,你会更好地理解它在做什么。这是底部不太先进的细胞。或者只是将#less附加到网址。

我会提供与此相关的任何代码。但是,我没有收到任何错误。

代码:


<td class="totals<cfif r EQ 1>1</cfif>"><cfif r EQ 1>Total<cfelse><input type="text" <cfif labels[r] EQ "Less Advance(if applicable)">id="less"</cfif><cfif labels[r] EQ "Net Due Employee">id="net"</cfif>id="totals" class="ttlR#r# total<cfif labels[r] EQ "Grand Total"> grandTot</cfif>" name="totals#r#" readonly="readonly" /></cfif></td>



$('#less').removeAttr("readonly").css("background-color", "none").css("text-align", "right").maskMoney({symbol: ""});

$('#less').keyup(function(){
    $('#net').val(Number($('.grandTot').val() - $('#less').val()).toFixed(2));
    alert($('#less').val());
});
//Get value of net total if page is refreshed.//
if($('#less').val() != "" || $('#less').val() != " "){
    $('#net').val(Number($('.grandTot').val() - $('#less').val()).toFixed(2));
}

3 个答案:

答案 0 :(得分:1)

看起来IE中根本没有应用蒙版。您使用哪个插件进行屏蔽?

修改

我正在使用IE 7.0.5730.13进行测试,并且掩码根本不起作用。聚焦和键入<input>不会产生任何特殊功能,但会产生错误

Line:  13
Char:  12949
Error: Invalid property value.
Code:  0

您是否尝试使用Firebug lite进行调试?

此外,您需要利用jQuery efficiently来提升自己的学科。重用重用!

var $less     = $('#less')
  , $net      = $('#net')
  , $grandTot = $('#totals .grandTot')
;

$less
  .removeAttr( "readonly" )
  .css( "background-color", "none" )
  .css( "text-align", "right" )
  .maskMoney( {symbol: ""} )
;

$net.bind( 'update-total', function()
{
  $net.val( Number( parseFloat( $grandTot.val() ) - parseFloat( $less.val() ) ).toFixed( 2 ) );
} );

$less.keyup(function()
{
  $net.trigger( 'update-total' );
  alert( $less.val() );
});

//Get value of net total if page is refreshed.//
if ( $less.val() != "" || $less.val() != " " )
{
  $net.trigger( 'update-total' );
}

答案 1 :(得分:1)

$( '#少')。KEYUP(函数(){     $('#net')。val(Number($('。grandTot')。val() - $('#less')。val())。toFixed(2));     警报($( '#少')VAL()); });

你很可能用这个覆盖你的掩蔽功能。取出除遮盖之外的所有东西,然后看看你的掩蔽是否有效。如果是这样,那么它是覆盖输入框的屏蔽更改的附加功能之一。

答案 2 :(得分:0)

或者只是更新到最新版本:)

https://github.com/plentz/jquery-maskmoney