JavaScript를 기반으로 양식 제출 버튼 btn-vote
을 사용/사용 중지하려고합니다. 버튼을 활성화하려면 10 개의 라디오 버튼 중 하나를 선택해야합니다. person-10
라디오 버튼이 선택된 경우 입력 텍스트 상자 other-person
의 값은 길이가 1보다 길고 길이가 < 51이어야하며 문자와 공백 만 포함해야합니다 (/^[a-zA-Z \ s] * $ /).Javascript/regex로 제어 사용 중지 버튼
양식은 다음과 같습니다
<form id= "personvoteform" name="vote" action="{{ url_for('comparePersons') }}" method="post">
<div class="radio">
<input id="person1" type="radio" name="person" value="Name 1"><label for="person1">Name 1</label><br>
<input id="person2" type="radio" name="person" value="Name 2"><label for="person2">Name 2</label><br>
<input id="person3" type="radio" name="person" value="Name 3"><label for="person3">Name 3</label><br>
<input id="person4" type="radio" name="person" value="Name 4"><label for="person4">Name 4</label><br>
<input id="person5" type="radio" name="person" value="Name 5"><label for="person5">Name 5</label><br>
<input id="person6" type="radio" name="person" value="Name 6"><label for="person6">Name 6</label><br>
<input id="person7" type="radio" name="person" value="Name 7"><label for="person7">Name 7</label><br>
<input id="person8" type="radio" name="person" value="Name 8"><label for="person8">Name 8</label><br>
<input id="person9" type="radio" name="person" value="Name 9"><label for="person9">Name 9</label><br>
<input id="person10" type="radio" name="person" value="Other">
<input id="other-person" type="text" name="person_other" placeholder="Other Person" onClick="selectRadio()"/>
</div>
<br>
<div class="Aligner-center">
<button id="btn-vote" type="submit" value="Submit" class="black-btn" disabled>VOTE</button>
</div>
</form>
내 자바 스크립트는 현재 :
var form = document.getElementById("personvoteform");
var submitbtn = document.getElementById("btn-vote");
var person1 = document.getElementById("person1");
var person2 = document.getElementById("person2");
var person3 = document.getElementById("person3");
var person4 = document.getElementById("person4");
var person5 = document.getElementById("person5");
var person6 = document.getElementById("person6");
var person7 = document.getElementById("person7");
var person8 = document.getElementById("person8");
var person9 = document.getElementById("person9");
var person10 = document.getElementById("person10");
var other = document.getElementById("other-person");
form.addEventListener('change', function()) {
if(person1.checked){
submitbtn.disabled = false;
}else if(person2.checked){
submitbtn.disabled = false;
}else if(person3.checked){
submitbtn.disabled = false;
}else if(person4.checked){
submitbtn.disabled = false;
}else if(person5.checked){
submitbtn.disabled = false;
}else if(person6.checked){
submitbtn.disabled = false;
}else if(person7.checked){
submitbtn.disabled = false;
}else if(person8.checked){
submitbtn.disabled = false;
}else if(person9.checked){
submitbtn.disabled = false;
}else if(person10.checked){
if(other.length > 1 && other.length < 51){
submitbtn.disabled = false;
} else {
submitbtn.disabled = true;
}
}
}
적어도 하나의 라디오 버튼이 선택되어 있는지 확인하려면 : (input [name = "person"] : checked) .length' – Justinas
여기 정규식이 필요하지 않습니다. (사용해서는 안됩니다) – Liam
@Liam Whats 너의 추론? 나는 '다른'텍스트 상자에 글자와 문자열의 조합을 제외하고는 아무 것도 입력 할 수 없다. – PanczerTank