Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   получить id элемента (https://javascript.ru/forum/events/50351-poluchit-id-ehlementa.html)

Петр Григорич 23.09.2014 10:47

получить id элемента
 
Хочу получить id элемента <input> в который были внесены изменения, но мой код не работает корректно. Выдает undefined.
this.onchange=function() {
 document.getElementById('Result').innerHTML+=this.id;

ksa 23.09.2014 11:03

Петр Григорич, потрудись сделать полный тестовый пример.

Петр Григорич 23.09.2014 11:29

<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <script type="text/javascript" src="script.js"></script>
</head>
<body>
 <div id="divId">
 <span id="spanId">Привет</span><br>
 <input id="inputId1"><br>
 <input id="inputId2"><br>
 <span id="result"></span>
 </div>
</body>
</html>


this.onchange=function() {
 document.getElementById('result').innerHTML+=this.id;
}

BETEPAH 23.09.2014 11:38

this.onchange - это где? Куда должно показывать this и куда оно показывает на самом деле?

d.skuratovich 23.09.2014 12:00

BETEPAH, судя по всему оно показывает на window, как и положено)

d.skuratovich 23.09.2014 12:03

BETEPAH, хотя кто знает как там чего сделано, может у него там какой-то класс или модель которая была вызвана call() с определенным контекстом

d.skuratovich 23.09.2014 12:04

Петр Григорич, в общем сюда давай JS

Петр Григорич 23.09.2014 23:06

это всё что есть. я плохо понимаю то, что написал. когда я писал this.onchange - я понимал под этим document.getElementById('id элемента на котором произошло событие').onchange. я не знаю как определить id элемента, на котором произошло событие, поэтому, поковырявшись в сети, использовал this... результата не принесло.

рони 23.09.2014 23:26

Петр Григорич,
:-?
<!DOCTYPE HTML>
<html>

<head>
    <meta charset="utf-8">
    <title>Untitled</title>
    <script>
        document.oninput = function(event) {
            document.getElementById('result').innerHTML += event.target.id;
        }
    </script>
</head>

<body>
    <div id="divId">
        <span id="spanId">Привет</span>
        <br>
        <input id="inputId1">
        <br>
        <input id="inputId2">
        <br>
        <span id="result"></span>
    </div>
</body>

</html>

Петр Григорич 24.09.2014 00:31

Большое спасибо. я подменил oninput на onchange и всё прекрасно работает.

Sargon777 02.10.2014 13:18

Я тупица в JS, есть такой скрипт для защиты E-mail от ботов
function info(){ 
         var p1,p2,p3,p4,p5,p6,
		 p1='<a href="mai'
		 p2='info'
		 p3='">'
		 p1+='lto:'
		 p2+='@'
		 p5='</a>'
		 p6='Напишите нам'
		 p2+='ya.ru' 
         p4=p6
		 document.write(p1+p2+p3+p4+p5)
		 } info()
тут все предельно ясно. Как мне вывести info в div по id.
<div id="5" class="gr">
<script type="text/javascript">
	info()
</script>
</div>
такой вариант не катит.

ksa 02.10.2014 13:39

Цитата:

Сообщение от Sargon777
Как мне вывести info в div по id.

Так и вывести...

<div id="test" class="gr">
</div>
<script type="text/javascript">
	info()
function info(){ 
         var p1,p2,p3,p4,p5,p6,
		 p1='<a href="mai'
		 p2='info'
		 p3='">'
		 p1+='lto:'
		 p2+='@'
		 p5='</a>'
		 p6='Напишите нам'
		 p2+='ya.ru' 
         p4=p6
		 document.getElementById('test').innerHTML=p1+p2+p3+p4+p5;
		 };
</script>

Sargon777 02.10.2014 14:11

Спасибо огромное очень помогли!!
Только её теперь не вызвать если отправить в отдельный .js документ(((
Вроде разобрался ссылку в футер засунул..


Часовой пояс GMT +3, время: 19:40.