Здравствуйте, я пытаюсь отобразить вход с радиовходом, к сожалению, я не понимаю, почему он не работает .. С этим кодом, когда я нажимаю «Нет», он показывает мне правильный ввод, но когда я нажимаю на « Да, ничего не отображается. Я не понимаю, почему спасибо.
<div class="login_content_form">
<%= f.label :post_author_yes, 'Yes' %>
<%= f.radio_button :author, 'Yes', class: 'edit_input', onclick:'javascript:yesnoCheck();' %>
<%= f.label :post_author_no, 'No' %>
<%= f.radio_button :author, 'No', class: 'edit_input', onclick:'javascript:yesnoCheck();' %>
<div id="ifYes" style="display:none">
<%= f.text_field :author, class: 'edit_input', placeholder: 'Real Author' %>
</div>
<div id="ifNo" style="display:none">
<%= f.text_field :author, class: 'edit_input', value: 'Unknown', :readonly => true %>
</div>
</div>
И скрипт:
<script type="text/javascript">
function yesnoCheck() {
if (document.getElementById('post_author_yes').checked) {
document.getElementById('ifYes').style.display = 'block';
}
else
document.getElementById('ifNo').style.display = 'block'
document.getElementById('ifYes').style.display = 'none';
}
</script>
Html Версия:
<div class="login_content_form">
<label for="post_post_author_yes">Yes</label>
<input class="edit_input" onclick="javascript:yesnoCheck();" type="radio" value="Yes" name="post[author]" id="post_author_yes" />
<label for="post_post_author_no">No</label>
<input class="edit_input" onclick="javascript:yesnoCheck();" type="radio" value="No" name="post[author]" id="post_author_no" />
<div id="ifYes" style="display:none">
<input class="edit_input" placeholder="Real Author" type="text" name="post[author]" id="post_author" />
</div>
<div id="ifNo" style="display:none">
<input class="edit_input" value="Unknown" readonly="readonly" type="text" name="post[author]" id="post_author" />
</div>
</div>
Спасибо за помощь!