2012-01-05 2 views
0

я не могу найти прямой ответ на это: у меня есть HTML-форма с ничего особенного происходит, только пару текстовых входов, как иHTML-текст ввода текста не публикуется '0'?

<input type="text" name="field" /> 

При проводке, он отправляет в порядке, Я храню данные в базе данных, без проблем. Однако при получении данных формы я ничего не вижу в поле, которое я заполнил «0». Я ожидал увидеть «0», конечно, но вместо этого ничего не было, просто пусто.
Я проверил в инструментах разработчика Safari и обнаружил все, что я вставляю в текстовые поля, только отлично, за исключением, когда я вставил '0', и в этом случае ничего не публикуется.

Я искал, я прочитал несколько документов W3, но ничего не говорит мне, зачем вставлять «0» в пустое текстовое сообщение. Я уверен, что у некоторых из вас может быть ключ или на самом деле знаю, почему ... и может предложить решение для получения «0» без многих трюков.

+0

Как вы извлекаете данные и устанавливаете их обратно в поле ввода? Просто покажет вам пустой, если не задано его значение. –

+0

Какой бы язык вы могли использовать? Можете ли вы опубликовать ** этот ** код? –

+0

Работает для меня со следующим кодом: http://codepad.org/2JozcALa. пожалуйста, покажите нам свой PHP-код. –

ответ

0

хранить кажется Safari неверен здесь в отчетности «пустой», когда оно должно быть «0». Дополнительные проверки подтверждают, что «0» делает. Реальная причина, почему «0» не был сохранен в базе данных было из-за проверки в бэкэнд (PHP):

if (!empty($value)) { 
    // validate value for storing 
} 

Поскольку «0» считается «пустым», он не был сохранен. Рефакторинг проверки решил проблему.

0

0 означает NULL с PHP. Вам нужно будет отбрасывать, что в строке при получении входных параметров для того, чтобы правильно

$newVal = (string) $_FORM['field']; 
+2

Откуда вы знаете, что он использует PHP? –