无法使用document.getElementById捕获div的值

问题描述 投票:0回答:1

[尝试使用document.getElementById捕获显示在网页上的信息“ age”,并将其作为“ userName”传递给浏览器API函数setCustomAttribute。这是为了将自定义数据从网站捕获到Newrelic Browser的PageView / PageAction事件。同样,没有捕获到带有“ clickedTryMe”操作的事件。下面是代码。

<a href="/demo" id="try-me">Try Me!</a>

<form action="/signup" id="myform">
   <input id="email" name="email">
   <input type="submit" value="Signup">
</form>

<script type="text/javascript">

document.getElementById('tryme').addEventListener('click',function (e) {
        newrelic.addPageAction('clickedTryMe');
    })

    </script>       
<script type="text/javascript">

document.getElementById('tryme').addEventListener('click',function (e) {
        newrelic.addPageAction('clickedTryMe');
    })
    document.getElementById('myform').addEventListener('submit', function (e) {
        var email = e.target.elements['email'].value;
        newrelic.addPageAction('userSignup', {email: email});

    })
</script>
</br>
</br>
<script type="text/javascript">
    var age=document.getElementById("age");
    newrelic.setCustomAttribute('userName', age );
</script>

</head>
<body> 

</br>
</br>
<div id="age">20</div>  
javascript api dom newrelic
1个回答
0
投票

您有一些错误:

  1. 锚定义为... id =“ try-me”,因此您需要从以下位置进行更改

    document.getElementById('tryme')

to

document.getElementById('try-me')
  1. 您无法在"...document has been completely loaded and parsed"之前执行JavaScript。这意味着您需要将js代码包装在:

    document.addEventListener('DOMContentLoaded',function(e){

    ......

    });

© www.soinside.com 2019 - 2024. All rights reserved.