>

작동하지 않는 간단한 자바 스크립트 프로그램을 만들려고합니다. 친절하게 도와주세요. 이클립스에서 동적 웹 프로젝트를 만들었고 DD에서 내 환영 파일은 index.jsp입니다. 다음은 index.jsp에 대한 코드입니다.

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Duncan'S</title>
<script type="text/javascript">
function nameSubmit() {
    alert(document.getElementsByName("username").value);
}
function CakeNumber() {
    alert(document.getElementsByName("numOfCake").value);
}
</script>
</head>
<body>
<form action="myservlet.do">
    <table>
        <tr>
              <td>Name:</td>
              <td><input type="text" id="name" name="username" size="10"
                onchange="nameSubmit();"></td>
        </tr>
        <tr>
              <td>Number Of Duncan's Cake:</td>
              <td><input type="text" id="numOfDunCake" name="numOfCake"
                size="5" onchange="CakeNumber();"></td>
        </tr>
    </table>
</form>
</body>
</html>

위의 코드에서 두 함수는 모두 undefined를 반환하고 있습니다.

  • 답변 # 1

    잘못된 아이디를 언급했습니다

    alert(document.getElementById("name").value);
    
    

    name 를 사용하려는 경우 그런 다음

    alert(document.getElementsByName("username")[0].value);
    
    

    업데이트 :

    input type="text" id="name" name="username" 
    
    

    ID는 이름과 다릅니다

  • 답변 # 2

    document.getElementsByName("name")  같은 이름으로 불리는 여러 요소를 얻습니다. 와이즈 비즈  그들 중 하나를 얻을 것입니다. 와이즈 비즈  특정 요소의 가치를 얻습니다.

    이 질문의 핵심은 다음과 같습니다.
    요소 이름은 고유하지 않으며 일반적으로 양식의 여러 입력 요소에 사용됩니다.
    반면에 요소의 id는 고유하며 이는 html 파일의 특정 요소에 대한 유일한 정의입니다.

  • 답변 # 3

    하나 이상의 확인란 값을 갖는 예는 다음과 같습니다. https://jsfiddle.net/ssuryar/pn92429e/

    2 개 이상의 확인란이 있고 값이 필요한 경우 실제로 도움이됩니다.

    document.getElementsByName("name")[Number]
    
    
    document.getElementsByName("name")[Number].value

관련 자료

  • 이전 apache - htaccess로 URL에서 문자 제거
  • 다음 java - 여러 공백을 포함하는 인수의 Runtimeexec