NULL значения jQuery Ajax от Seralize - PullRequest
       1

NULL значения jQuery Ajax от Seralize

0 голосов
/ 02 сентября 2010

У меня проблема с Ajax From Submission и значениями NULL с php / mysql.

Сначала у меня есть простая форма.

<form mehod="post" action="">
  Name: <input type=text" name="person[name]" value="" /><br />
  Age: <input type="text" name="person[age]" value="" /><br />
  Salary: <input type="text" name="person[salary]" value="" />
  <a href="process.php" class="add-person">Submit</a>
</form>

Хорошо, теперь я отправлю данные в php черезajax довольно просто

$(".add-person").live('click', function(eve){
    eve.preventDefault();
    var url = $(this).attr('href');
    var data = $(this).closest('form').serialize();
    $.ajax({
        global: false,
        type: "POST",
        url: url,
        data: data,
        dataType: 'json',
        success: function(msg){
            alert(msg);
        }
    }); 
})

Хорошо, теперь возникает проблема.Для этой таблицы поле зарплаты - это число с плавающей запятой.

Если я отправляю форму с пустым значением зарплаты, оно не равно нулю.Таким образом, я получаю 0,00, добавляемую к моим данным.

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

if(empty($person['salary']):
  $person['salary'] = NULL;
endif;

Любая идея, почему jQuery делает значения не равными нулю.

Надеюсь, вы можете помочь.

1 Ответ

0 голосов
/ 02 сентября 2010

Значением пустого поля ввода является пустая строка, а не null. Вот только как это.

Если у вас много полей, прекратите писать каждую проверку вручную и вместо этого определите схему для них (достаточно массива, если у вас нет лучшего способа определения ограничений для ваших данных), выполните цикл и проверьте каждое поле в соответствии с ним.

(И у кого-либо, использующего endif, нет бизнес-кода, вызывающего «раздутый» ...)

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