자바스크립트 get element by name
다음 기능을 고려합니다.
function validate()
{
var acc = document.getElementsByName('acc').value;
var pass = document.getElementsByName('pass').value;
alert (acc);
}
그리고 이 HTML 부분은:
<table border="0" cellpadding="2" cellspacing="0" valign="top">
<tr>
<td class="td1">Account</td>
<td class="td2"><input type="text" name="acc" /></td>
</tr>
<tr class="td1">
<td>Password</td>
<td class="td2"><input type="password" name="pass" /></td>
</tr>
</table>
<div><button onClick="validate()" class="cupid-greenx">Login now</button></div>
경고 상자가 표시되지만 "정의되지 않음"으로 표시됩니다.
당신이 그 오류를 보는 이유는document.getElementsByName
답례품 aNodeList
요소의그리고 a.NodeList
원소들 중에 a가 없는 것은.value
소유물.
대신 사용:
document.getElementsByName("acc")[0].value
여기에 있는 모든 답변은 구식으로 보입니다.지금 바로 사용하시기 바랍니다.
document.querySelector("[name='acc']");
document.querySelector("[name='pass']")
이 방법에서 복수형을 주목합니다.
document.getElementsByName()
요소 배열을 반환하므로 [0]을 사용하여 첫 번째 발생을 가져옵니다.
document.getElementsByName()[0]
원하는 것:
function validate() {
var acc = document.getElementsByName('acc')[0].value;
var pass = document.getElementsByName('pass')[0].value;
alert (acc);
}
메서드 document.getElementsByName이 요소 배열을 반환합니다.예를 들어 먼저 선택해야 합니다.
document.getElementsByName('acc')[0].value
document.getElementsByName("myInput")[0].value;
완성도를 위해 이 글을 읽는 다른 사람들이 안전망에 대해 좋은 생각을 할 수 있도록 하기 위해, 특히 원하는 요소를 얻을 수 있다는 보장 없이 null cales를 사용하여 누락된 값을 테스트하여 기본값을 설정할 수 있습니다.
const accElements = document.getElementsByName('acc');
const accElement = accElements[0] ?? null; // Or some other value
if (!accElement) {
// handle the problem
}
연결된 개체일 때(배열/노드가 반환되지 않을 때) 옵션 체인을 사용합니다.
const acc = document.getElementById('acc')?.value ?? null; // Or some other value
그리고 또.name
속성이 사용 가능한 전부인 경우가 있습니다. 사용해 보십시오.id
가능한 한 그들이 독특할 가능성이 더 많기 때문입니다.원하는 요소가 결과 인덱스 0에 있다고 가정합니다([0]
)는 보통 안전하지만 확인하고 확인하는 것이 좋습니다.몇 줄의 코드(로깅이 있을 수도 있음)에 대해서는 최종 사용자에게 고장 문제를 저장할 수 있습니다.
입력이 많은 경우 다음을 시도해 볼 수 있습니다.
<input type="text" name="unitOfAttachService">
<input type="text" name="unitOfAttachService">
<input type="text" name="unitOfAttachService">
이 선은 태그 입력의 모든 값을 얻는 데 사용됩니다.
let unitOfAttachService =document.getElementsByName("unitOfAttachService");
이것이 그것을 목록에서 빼내고 사용하는 방법입니다.
for (let k = 0; k < unitOfAttachService .length; k++) {
unitOfAttachService[k].value;}
언급URL : https://stackoverflow.com/questions/10306129/javascript-get-element-by-name
'code' 카테고리의 다른 글
대리 키가 사용되는 경우 테이블에 삽입 (0) | 2023.10.20 |
---|---|
Android Studio : Run 또는 Debug 전에 APK를 자동으로 제거(또는 adb 명령 실행)하는 방법? (0) | 2023.10.20 |
Q: Fedora 30에 MariaDB 설치 문제 (0) | 2023.10.15 |
슬릭 회전목마 아이템 사이에 공백을 추가하는 방법 (0) | 2023.10.15 |
네트워크 연결 끊김으로 인한 Ajax 호출 실패를 감지하는 방법 (0) | 2023.10.15 |