@Kirill-Gorelov
С ума с IT

Ребят, как сделать код правильным на js?

Ребят, привет.
Изучаю немного js. И тут надо было сделать поле input обязательным по radio.
Код написал, работает. НО, мне не особо нравится, мне кажется это настоящий г**нокод.
Подскажите, пожалуйста, как сделать его более "красивым"?
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>

<input type="radio" name="1" id="mail" onchange="myFunction()" value="1"><label for="myText">Да</label> 
<input type="radio" name="1" id="nomail" onchange="myFunction2()" value="2"><label for="myText2">Нет</label> 
</br>
<label id="dir2" >Имя папки куда сохранить </label></br>
<input type="text"  id="dir" name="dir"   ><label for="dir" id="for2">Обязательное поле</label> 

<script>

    dir.setAttribute('style', 'display:none');
     dir2.setAttribute('style', 'display:none');
     for2.setAttribute('style', 'display:none');
function myFunction() {
    var x = document.getElementById("mail").value;
    //alert(x);
    dir.setAttribute('placeholder', 'Обязательное поле');
    dir.setAttribute('required', 'true');
    dir.setAttribute('style', 'display:inline');
    dir2.setAttribute('style', 'display:inline');
    for2.setAttribute('style', 'display:inline')
}

function myFunction2() {
    var x = document.getElementById("nomail").value;
   // alert(x);

    dir.setAttribute('placeholder', 'Напиши название папки');
    dir.setAttribute('style', 'display:none');
     dir2.setAttribute('style', 'display:none');
      for2.setAttribute('style', 'display:none');
     dir.setAttribute('required', 'false');

}
</script>
</body>
</html>
  • Вопрос задан
  • 169 просмотров
Решения вопроса 1
ProjectSoft
@ProjectSoft
Front-end && Back-end разработчик
Кирилл Горелов для изучающего js всё нормально :)
Но всё решается на много проще. И плюс ко всему половина решается на CSS
https://jsfiddle.net/ProjectSoft/puo2sty9/

PS:
Stepanya вы, как и другие программисты, не с пелёнок стали программировать. Мы все когда-то учились и нам всем нужна была чья-то помощь и чей-то совет.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
01 мая 2024, в 02:11
5000 руб./за проект
01 мая 2024, в 00:29
2000 руб./за проект
01 мая 2024, в 00:20
15000 руб./за проект