JQuery маскирование / оповещение о проблеме в IE - PullRequest
0 голосов
/ 27 августа 2009

У меня есть таблица ввода, в которой есть маска ввода денег. У меня еще не было проблем с этим, но теперь он, кажется, не работает должным образом, и я не могу получить ничего, чтобы предупредить об этом.

Все это проблема интернет-обозревателя. Прекрасно работает в FireFox.

В Firefox маска работает правильно, так как она допускает только цифры и в фиксированном формате, но в том, что формат или маска отображаются правильно, когда вы находитесь в фокусе, но как только вы начинаете печатать, символы будучи добавленным, а не вместо маски. Это также позволяет не числовые символы. Я пробовал оповещения в IE, но это также не работает. Я не могу найти что-либо по этому вопросу через Google ..

Вы лучше поймете, что он делает, если вы включите Firefox, а затем IE. Это менее продвинутая клетка внизу. или просто добавьте #less к URL.

Я предоставлю любой код, относящийся к этому .. Хотя я не получаю никаких ошибок.

Код:


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

1 голос
/ 27 августа 2009

$ ( '# меньше'). KeyUp (функция () { $ ('# net'). val (Number ($ ('. grandTot'). val () - $ ('# less'). val ()). toFixed (2)); оповещения ($ ( '# меньше') Вал ().); });

Скорее всего, вы перезаписываете свою функцию маскирования. Уберите все, кроме маскировки, а затем посмотрите, работает ли ваша маскировка. Если это так, то это одна из ваших дополнительных функций, перезаписывающая изменения маскировки в поле ввода.

1 голос
/ 27 августа 2009

Не похоже, что маска применяется в IE. Какой плагин вы используете для маскировки?

EDIT

Я тестирую с IE 7.0.5730.13, и маска не работает вообще. Фокусировка и ввод <input> не дают никаких специальных функций, но выдает ошибку

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

Вы пытались отладить это с Firebug lite ?

Кроме того, вам необходимо повысить свою дисциплину за счет эффективного использования jQuery . Повторное использование Повторное использование!

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' );
}
0 голосов
/ 20 апреля 2011

Или просто обновить до последней версии:)

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...