Я хочу вставить значение переменной Javascript в HTML-файл. Но вывод пуст. Нужные данные хранятся в переменной, но вывод в html-файле пуст.

Мой HTML-файл

<div class="student-info">
     <p>Name: Anon</p>
     <p>Registration Number:</p>

<script src="resources/js/data_inp.js">document.write(regno)</script>
<script src="resources/js/data_inp.js"></script>

мой файл data_inp.js

//get regno
firebase.auth().onAuthStateChanged(function(user) {
    if (user) {
        console.log(user);
        var email = firebase.auth().currentUser.email;
        var regno = email.substring(0, email.length - 8);
        //email is eg. 1234@xyz.com where 1234 is regno so I used this method to separate the regno
        console.log(regno);
    }
});

Что я делаю неправильно?

0
Ballistic Swami

2 ответа

В своем HTML удалите script и создайте span с id , а затем укажите innerText диапазона.

<p>Registration Number: <span id="dynamic-value"></span></p>

Тогда в вашем JS,

document.getElementById('dynamic-value').innerText = regno

Возможно, вы хотите сохранить весь javascript в одном файле и сохранить все html в одном файле и нацеливать на определенные элементы, используя document.getElementById ()

HTML

<div class="student-info">
                        <p>Name: Anon</p>
                        <p id=registrationNumber>Registration Number:</p>
</div>
<script src="resources/js/data_inp.js"></script>

Javascript

//get regno
firebase.auth().onAuthStateChanged(function(user) {
    if (user) {
        console.log(user);
        var email = firebase.auth().currentUser.email;
        var regno = email.substring(0, email.length - 8);
        //email is eg. 1234@xyz.com where 1234 is regno so I used this method to separate the regno
        console.log(regno);

        var myElement = document.getElementById("registrationNumber");
        var newcontent = document.createElement('div');
        myElement.append(newcontent);
        newcontent.innerHTML = regno;
    }
});
58528389