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 и всё прекрасно работает.


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