2014-04-09 2 views
-1

자바 스크립트에서 문제가 발생했습니다. 링크를 클릭 할 때 텍스트 입력 값을 특정 값으로 설정하려고합니다.자바 스크립트 document.getElementByID (...)가 NULL입니다.

<form method="get" action="db.php"> 
<dl> 
    <dt> 
     Part: 
    </dt> 
    <dd> 
     <input type="text" name="part"></input> 
    </dd> 
.... 
.... 
<a href="#" onClick="document.getElementById('part').value = 'motor';">motor</a> 

하지만

TypeError: document.getElementById(...) is null  

오류가

무슨 잘못 그것으로 표시?

+0

당신이 당신의 HTML의에서 ID를 볼 수 있나요에서 getElementById ('일부')를 사용할 수 있습니다 ?? – epascarello

답변

3

getElementById 요소를 찾기 : id. DOM 샘플에는 id=part의 요소가 없습니다. 그것이 null을 반환하는 이유입니다. document.getElementsByName(string)을 사용할 수 있으며 지정한 이름의 elemtns 배열을 반환합니다. 0 인덱스는 input 태그를 가져옵니다!

<a href="#" onClick="document.getElementsByName('part')[0].value = 'motor';">motor</a> 

반환하고 array, 그래서 첫 번째 요소를 얻을 것이다. 어떤 결과를 얻고 value 속성을 적용하면 함수에서 확인하면 좋을 것입니다.

+0

아, 저런 이름 = 죄송합니다. – user3513510

+0

+1, 이것도 믿습니다. * 역시 효과가 있습니다. –

+0

FYI :'getElementByName'이 아닌'getElementByName'입니다. HTML Collection을 돌려 줄 것입니다. 그래서'onClick = "document.getElementsByName ('part') [0] .value' –

0

<a>의 이름은 "part"이며 ID가 아닙니다. 따라서 ID가 "part"인 페이지에는 요소가 없으므로 결과가 null입니다.

2

단순히 입력 태그에 ID를 추가 한 다음 당신은

<input type="text" name="part" id="part"></input> 
관련 문제