OnChange не работает в форме обновления - PullRequest
1 голос
/ 03 февраля 2012

У меня есть форма обновления, которая заполняет поля на основе значений базы данных. Форма включает вычисления, поэтому я установил значение для поля в значения базы данных, но добавил onChange, чтобы позволить форме пересчитать числа, если они обновляются. Я уверен, что это должно быть проблемой, но я не знаю, как ее решить. Вот пример того, что я сделал:

<td><input type="text" Name="price" id="price" size="8" class="TextBox" value="#price_value#" onFocus="this.className='TextBoxSelected';select()" onBlur="this.className='TextBox'" onChange="calculate();" /></td>


    function getFldValue(fldValue) {
      return isNaN(fldValue) ? 0 : parseFloat(fldValue);
    }
    function calculate() {
      var property_SPrice = getFldValue($('#property_SPrice').val());
      var price = getFldValue($('#price').val());
      $('#price').val(property_SPrice + 0);

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

Ответы [ 2 ]

1 голос
/ 03 февраля 2012

эта строка: return isNaN (fldValue)?0: parseFloat (fldValue);

попробуйте

var property_SPrice = getFldValue(Number($('#property_SPrice').val()));

или:

var property_SPrice = getFldValue(parseInt($('#property_SPrice').val()));

$('#property_SPrice').val() has to be a number/integer not a string version of a number/integer i.e. 9273 not '9273'

попробуйте console.log на typeOf $('#property_SPrice').val(), чтобы увидеть, что это

0 голосов
/ 03 февраля 2012

Propert_SPrice должен быть определен как значение идентификатора, а не просто NAME

...