Радио кнопки и флажки не отправляются в строке запроса или теле сообщения при отправке пустой формы

0

Я следую форме

<form method="post" action="getParameterValuesServlet">
    <table border="1">
        <tr>
            <td>User Name</td>
            <td><input type="text" name="userName"></td>
        </tr>
        <tr>
            <td>Password</td>
            <td><input type="password" name="password"></td>
        </tr>
        <tr>
            <td>Gender</td>
            <td>
                <input type="radio" name="gender" value="male">Male<br>
                <input type="radio" name="gender" value="female">Female<br>
            </td>
        </tr>
        <tr>
            <td>Hobbies</td>
            <td>
            <input type="checkbox" name="hobbies" value="cycling">Cycling<br>
            <input type="checkbox" name="hobbies" value="swimming">Swimming<br>
            <input type="checkbox" name="hobbies" value="treking">Treking<br>
            </td>
        </tr>
        <tr>
            <td>City</td>
            <td>
                <select name="city" multiple>
                    <option value="mysore">Mysore</option>
                    <option value="pune">Pune</option>
                    <option value="chandigarh">Chandigarh</option>
                </select>
            </td>
        </tr>
        <tr>
        <td colspan="2" align="center"><input type="submit" value="Register"></td>
        </tr>
    </table>
</form>

Когда я отправляю эту форму без ввода или выбора каких-либо значений, я вижу только пустое имя пользователя и пароль (текст и пароль) в теле сообщения (то же самое происходит с строкой запроса GET)

Почему не переключаются кнопки, флажок и выпадающие значения со значениями по умолчанию?

Еще одна вещь, если я удаляю атрибут "множественный" из тега "select", появляется первый вариант.

Будем благодарны, если кто-то объяснит это поведение !!

FYI, я использую инструмент Fiddler Web Debugger для отслеживания запроса и ответа и отправки этой формы в Java-сервлет

Теги:
servlets
forms
fiddler
form-submit

2 ответа

0

Вы можете использовать скрытое поле с резервным значением, если флажок в форме представлен непроверенным:

<input type="hidden" name="hobbies" value="">
<input type="checkbox" name="hobbies" value="swimming">Swimming<br>

Это, похоже, работает и с переключателями:

<input type="hidden" name="gender" value="">
<input type="radio" name="gender" value="male">Male<br>
<input type="radio" name="gender" value="female">Female<br>
0

Какие значения по умолчанию вы планируете отправить?

Единственными значениями, которые отправляются, являются выбранные параметры; поскольку не выбраны никакие параметры, туда нечего отправлять.

Это в отличие от text и password элементов управления, которые всегда имеют значение, даже если это значение является пустой строкой.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню