18/18 91 процент


#1

Здравствуйте. Тест оценил код в 91 процент. Не подскажете почему?

    <form action="https://echo.htmlacademy.ru" method="post">
        <label for="gender">Ваш пол:</label> 
        <input type="radio" name="m" id="gender">Мужской
        <input type="radio" name="f" id="gender" checked>Женский
    <br>
        <label for="birthdate">Месяц и год рождения:</label><br>
    <select type="text" name="month" id="birthdate">
        <option>Январь</option>
    </select>
        <select type=text" name="year" id="birthdate"> 
        <option name="month" id="birthdate">1990</option>
    </select>
    <br>
        <label for="tech">Знакомые технологии:</label>
    <br>
    <select id="tech" multiple>
        <option name="skills">HTML</option>
        <option name="skills">CSS</option>
        <option name="skills">JavaScript</option>
        <option name="skills">Node.js</option>
    </select>
    <br>
        <label for="photo">Фото:</label>
        <input type="file" id="photo">
        <input type="submit" id="save" name="sav" value="Сохранить">
    </form>
</body>

#2

Вас не настораживает, что в коде получилось несколько id с одинаковыми именами?


#3

Вы про эту часть?

    <label for="gender">Ваш пол:</label> 
    <input type="radio" name="m" id="gender">Мужской
    <input type="radio" name="f" id="gender" checked>Женский

Разве не так логически связываются лейбл и радиобаттон?


#4

У вас ниже еще одна похожая часть.
В выделенном вами фрагменте для каждого поля есть своя подпись, а надпись “Ваш пол” - это просто заголовок части формы, в данном случае подойдет span.


#5

Вроде разобрался, подчистил. Но возник другой вопрос, почему не приходят данные из мультиселекта?

<html>
<head>
    <meta charset="utf-8">
    <title>Испытание: редактирование профиля</title>
</head>
<body>
    <h1>Профиль</h1>

    <form action="https://echo.htmlacademy.ru" method="post">
        <span>Ваш пол:</span>
        <input type="radio" name="male">Мужской
        <input type="radio" name="female" checked>Женский
    <br>
        <span>Месяц и год рождения:</span><br>
    <select type="text" name="month">
        <option id="january">Январь</option>
    </select>
        <select type=text" name="year"> 
        <option id="1990">1990</option>
    </select>
    <br>
        <label for="tech">Знакомые технологии:</label>
    <br>
    <select id="tech" multiple>
        <option name="skills">HTML</option>
        <option name="skills">CSS</option>
        <option name="skills">JavaScript</option>
        <option name="skills">Node.js</option>
    </select>
    <br>
        <label for="photo">Фото:</label><input type="file" id="photo">
        <input type="submit" id="save" name="sv" value="Сохранить">
    </form>
</body>

#6

Не разобрались. Не вижу label.
Тема по поводу мультиселекта: При мультивыборе элементов отправляется один?


#7

Так ли он нужен?
С мультиселектом разобрался, спасибо.

<html>
<head>
    <meta charset="utf-8">
    <title>Испытание: редактирование профиля</title>
</head>
<body>
    <h1>Профиль</h1>

    <form action="https://echo.htmlacademy.ru" method="post">
        <span>Ваш пол:</span>
        <input type="radio" name="m">Мужской
        <input type="radio" name="f" checked>Женский
    <br>
        <span>Месяц и год рождения:</span><br>
    <select type="text" name="month">
        <option id="january">Январь</option>
    </select>
        <select type=text" name="year"> 
        <option id="1990">1990</option>
    </select>
    <br>
        <label for="tech">Знакомые технологии:</label>
    <br>
    <select id="tech" name="technology" multiple>
        <option name="skills" id="HTML">HTML</option>
        <option name="skills" id="CSS">CSS</option>
        <option name="skills" id="JavaScript">JavaScript</option>
        <option name="skills" id="Node.js">Node.js</option>
    </select>
    <br>
        <label for="photo">Фото:</label><input type="file" id="photo">
        <input type="submit" id="save" name="sv" value="Сохранить">
    </form>
</body>

#8

Нужен. Когда вы нажимаете на подпись поля, например “Мужской”, то поле должно активизироваться. Также обратите внимание на одну деталь: если вы не хотите позволить пользователю выбрать и “Мужской”, и “Женский” пол одновременно, то атрибут name у полей должен быть одинаковым.


#9

Исправил.

Ущемляете гендерквиров? Шутка.

Сделал, но теперь в отправляемых данных не ясно что выбрал пользователь, так как передаётся лишь “gender-on”.


#10

Забыл прикрепить код.

<html>
<head>
    <meta charset="utf-8">
    <title>Испытание: редактирование профиля</title>
</head>
<body>
    <h1>Профиль</h1>

    <form action="https://echo.htmlacademy.ru" method="post">
        <span>Ваш пол:</span>
        <input type="radio" name="gender" id="m"><label for="m">Мужской</label>
        <input type="radio" name="gender" id="f" checked><label for="f">Женский</label>
    <br>
        <span>Месяц и год рождения:</span><br>
    <select type="text" name="month">
        <option id="january">Январь</option>
    </select>
        <select type=text" name="year"> 
        <option id="1990">1990</option>
    </select>
    <br>
        <label for="tech">Знакомые технологии:</label>
    <br>
    <select id="tech" name="technology" multiple>
        <option name="skills" id="HTML">HTML</option>
        <option name="skills" id="CSS">CSS</option>
        <option name="skills" id="JavaScript">JavaScript</option>
        <option name="skills" id="Node.js">Node.js</option>
    </select>
    <br>

#11

Допишите атрибут value для полей.


#12

Ой, точно. Спасибо большое.