2014-10-06 3 views
0

그래서 나는 그의 블로그에서 Fenoxo의 게임과 비슷한 게임을 만들고 있습니다. 지금은 문자 생성 시스템을 만들려고하고 있습니다. 제 유일한 차이점은 자바 스크립트와 HTML에 모두 있다는 것입니다.자바 스크립트에서 라디오 입력 값을 변수로 가져 오는 방법

if (gender === 2) { 
    var bodyTypeChoiceFE = "<form id='id'><input type='radio' name='BodyBuild1' value='1'>Thin<br><input type='radio' name='BodyBuild2' value='2'>Average<br><input type='radio' name='BodyBuild3' value='3'>Curvy<br><input type='radio' name='BodyBuild4' value='4'>Chubby<br><input type='radio' name='BodyBuild5' value='5'>Muscled<br><input type='radio' name='BodyBuild6' value='6'>Fat<br><input type='submit'></form>"; 
    bodyChoice = bodyTypeChoiceFE; 
} else { 
    var bodyTypeChoiceME = "<form id='id'><input type='radio' name='BodyBuild1' value='1'>Thin<br><input type='radio' name='BodyBuild2' value='2'>Average<br><input type='radio' name='BodyBuild4' value='4'>Chubby<br><input type='radio' name='BodyBuild5' value='5'>Muscled<br><input type='radio' name='BodyBuild6' value='6'>Fat<br><input type='submit'></form>"; 
    bodyChoice = bodyTypeChoiceME; 
} 

document.getElementById("charDesc").innerHTML = bodyChoice; 

var id = document.getElementById("id").value; 
var id_value; 

if (id === "1") { 
    id_value = document.getElementsByName("BodyBuild1").value; 
} else if (id === "2") { 
    id_value = document.getElementsByName("BodyBuild2").value; 
} else if (id === "3") { 
    id_value = document.getElementsByName("BodyBuild3").value; 
} else if (id === "4") { 
    id_value = document.getElementsByName("BodyBuild4").value; 
} else if (id === "5") { 
    id_value = document.getElementsByName("BodyBuild5").value; 
}else if (id === "6") { 
    id_value = document.getElementsByName("BodyBuild6").value; 
} 

이 선택은 두 번째 선택을하고 난 신속하고 정보에 대한 사용자 유형을 사용하기 위해, 당신은 무엇을 선택 성을 기반으로합니다. 이 기능을 사용할 수없는 경우이를 사용하게 될 것입니다.

기본적으로 성별이 여성이면이 모든 것을 읽지 않아도된다면 여성 선택을 표시하십시오. 다른 남성 선택 표시. 그런 다음 선택 항목을 표시하십시오. 값이 1이면 양식에서 값을 저장하십시오. bodybuild1의 값을 확인하십시오.

하지만 작동하지 않습니다 ... 그리고 어떻게 작동하게 할 지 잘 모르겠습니다. 변수에 저장하거나 값을 사용하여 변수의 내용을 변경할 수 있도록 필요합니다. 어느 쪽이든 나는 값을 필요로합니다.

답변

0

getElementsByName은 하나의 객체가 아닌 콜렉션을 반환하므로 .value은 존재하지 않습니다. getElementsByName[0].value으로 변경하고 시도하십시오.

0

위에서 설명한대로 : document.getElementsByName('BodyBuild1')은 name 속성이 지정된 요소의 배열을 반환합니다. 같은 이름 속성을 가진 페이지에 둘 이상의 양식이있는 경우 대상으로 지정할 양식을 지정해야합니다. 이것을 수치 적으로 할 수 있습니다.

jQuery를

var id_value = $('input[name="BodyBuild1"]:checked').val(); 
alert(id_value) 

자바 스크립트

var id_value = document.getElementsByName('BodyBuild1')[0].checked.value; 
alert(id_value) 
관련 문제