поля ввода не показывают значение по умолчанию - PullRequest
1 голос
/ 07 июля 2011

У меня есть форма с некоторыми полями ввода. У меня есть значение = "что-то здесь", установленное для большинства из них. Однако, когда я загружаю страницу в Firefox, поля ввода не заполняются.

Firebug показывает атрибут значения с правильным значением в нем. Но это не отображается на экране. Когда я отправляю форму, она также не передает значения.

Вот вывод из моего PHP-скрипта, который просто выводит массив.

}
[servDate] => 07-07-2011
[time1] => 8:00
[odo1] => 12345
[report1] => 
[time2] => 8:30
[odo2] => 12350
[report2] => 
[time4] => 9:00
[odo4] => 12359
[report4] => SUBJECT DEPARTS HOME
[time5] => 9:30
[odo5] => 12369
[report5] => SUBJECT ARRIVES AT WORK
[time98] => 9:35
[odo98] => 12369
[report98] => 
[time99] => 10:00
[odo99] => 12399
[report99] => 
[servHrs] => 
[id] => 
)

Форма выглядит следующим образом:

<form id="reportForm">
    Service Date: <input type="text" name="servDate" id="servDate" size="10" value="<? echo date("m-d-Y"); ?>" /><button id="servDateBtn"><img src="../includes/calendar.png" /></button><br />
    <table id="reportTable" name="reportTable">
        <tr>
            <th>&nbsp;</th>
            <th>Time</th>
            <th>Odometer</th>
            <th>Actions</th>
        </tr>
        <tr>
            <TD width="20px">&nbsp;</TD>
            <TD><INPUT type="text" name="time1" id="time1" size="4" /> 
            <script type="text/javascript">
                $(document).ready(function() {
                    $('#time1').timepicker({
                        showPeriod: false,
                        showLeadingZero: false
                    });
                });
            </script>
            </TD>
            <td><input type="text" name="odo1" id="odo1" class="odo" size="6" /></td>
            <td><input type="text" name="report1" id="report1" size="42" value="Dispatched Investigator." readonly="readonly" /></td>
        </TR>
        <tr>
            <TD width="20px">&nbsp;</TD>
            <TD><INPUT type="text" name="time2" id="time2" size="4" /> 
            <script type="text/javascript">
                $(document).ready(function() {
                    $('#time2').timepicker({
                        showPeriod: false,
                        showLeadingZero: false
                    });
                });
            </script>
            </TD>
            <td><input type="text" name="odo2" id="odo2" class="odo" size="6" /></td>
            <td><input type="text" name="report2" id="report2" size="42" value="Investigator arrived at first field location." readonly="readonly" /></td>
        </TR>
    </table>
    <table>
        <tr>
            <TD width="20px">&nbsp;</TD>
            <TD><INPUT type="text" name="time98" id="time98" size="4" /> 
            <script type="text/javascript">
                $(document).ready(function() {
                    $('#time98').timepicker({
                        showPeriod: false,
                        showLeadingZero: false
                    });
                });
            </script>
            </TD>
            <td><input type="text" name="odo98" id="odo98" class="odo" size="6" /></td>
            <td><input type="text" name="report98" id="report98" size="42" value="Investigator departed last field location." readonly="readonly" /></td>
        </TR>
        <tr>
            <TD width="20px">&nbsp;</TD>
            <TD><INPUT type="text" name="time99" id="time99" size="4" /> 
            <script type="text/javascript">
                $(document).ready(function() {
                    $('#time99').timepicker({
                        showPeriod: false,
                        showLeadingZero: false
                    });
                });
            </script>
            </TD>
            <td><input type="text" name="odo99" id="odo99" class="odo" size="6" /></td>
            <td><input type="text" name="report99" id="report99" size="42" value="Investigator suspended." readonly="readonly" /></td>
        </TR>
    </table>
    <br /><button id="addEntry">Add Entry</button>&nbsp;<button id="delEntry">Delete Entry</button>
    <br />
    Service Hours: <input type="text" name="servHrs" id="servHrs" size="4" />
    <input type="hidden" name="id" class="client" value="<? echo $id ?>" />
</form>

, который открывается в диалоговом окне jquery.

Другие формы на моей странице открываются в диалоговом окне и работают нормально. Я подтвердил, что не использую ЛЮБЫЕ дубликаты ID или теги NAME. Что страннее, иногда это будет работать, а иногда - нет.

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

Ответы [ 2 ]

1 голос
/ 07 июля 2011

Это происходит только при перезагрузке страницы?Если это так, скорее всего, потому что Firefox запоминает старые значения.Это происходит, если вы открываете страницу в новой вкладке?

0 голосов
/ 12 апреля 2017

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

Браузер сохраняет defaultValue, как уже упоминалось.Но использование метатега, который указывает браузеру вообще не кэшировать, является очень плохим решением.

Причина:

Проблема, с которой этот вопрос даже становится проблемой, была (вв моем случае) приложение присваивало пустой defaultValue, и когда поступали данные с сервера, оно не обновляло его.

Решение:

Избегайте повторного ввода- присвоение defaultValue от Пусто до Фактическое значение .Просто визуализируйте поле ввода, когда доступно Фактическое значение .

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