Как использовать getElementById, чтобы получить элементы в форме? - PullRequest
0 голосов
/ 29 мая 2018

Мне интересно, почему в следующем комментарии к сценарию 1 и комментарию 2 не работает, я знаю, что мы можем получить прямой доступ к элементу по идентификатору, не передавая «форму», однако задаю вопрос в образовательных целях. Спасибо

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>test</title>
	<script>
		function ulDisply()
		{
		//var element = document.myform.getElementsByName("name1")[0].value;//1
		//var element = document.myform.getElementsById("id1").value;//2
		//var element = document.myform.elements[0].value;//3
		var element = document.myform.d.value;//4
		document.write("you number is "+ element +"<br>");
		}
	</script>
</head>
<body>
	<form name="myform">
		<input type="number" name="n" id="d">
		<input  type="submit" onclick="ulDisply()">		
	</form>
</body>
</html>

Ответы [ 3 ]

0 голосов
/ 29 мая 2018

Вы можете использовать:

var element = document.getElementById("d").value;
0 голосов
/ 29 мая 2018

Вам необходимо изменить код на:

<!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>test</title>
        <script>
            function ulDisply()
            {
            var element = document.getElementsByName("n")[0].value;//1
            //var element = document.getElementById("d").value;//2
            //var element = document.myform.elements[0].value;//3
            //var element = document.myform.d.value;//4
            document.write("you number is "+ element +"<br>");
            }
        </script>
    </head>
    <body>
        <form name="myform">
            <input type="number" name="n" id="d">
            <input  type="submit" onclick="ulDisply()">     
        </form>
    </body>
    </html>
0 голосов
/ 29 мая 2018

Комментарий 1:

var element = document.myform.getElementsByName ("name1") [0] .value;

не работает, потому что:

  • нет элемента с именем "name1".
  • getElementsByName определен в document объекте

Комментарий 2:

var element = document.myform.getElementsById ("id1") .value;

не работает, потому что:

  • правильное имя функции getElementById, и оно определено в document объекте
  • нет элемента с идентификатором "id1"

Когда исправлено, это работает:

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>test</title>
	<script>
		function ulDisply()
		{
		var element = document.getElementById("d").value;//2
    


		document.write("you number is "+ element +"<br>");
		}
	</script>
</head>
<body>
	<form name="myform">
		<input type="number" name="n" id="d">
		<input type="button" value="Ok" onclick="ulDisply()">
	</form>
</body>
</html>
...