1

I am trying to access value of "var accInfo" outside addeventlistner so that i can use this object for further coding. I am a beginner at javascript and doesn't knew jquery and other framework so kindly guide me. thanks

let form1 = document.getElementById('form1');

form1.addEventListener('submit', () => {
    let fname = document.getElementById("defaultRegisterFormFirstName").value
    let lname = document.getElementById("defaultRegisterFormLastName").value
    let email = document.getElementById("defaultRegisterFormEmail").value
    var accInfo = acc(fname, lname,email);
    console.log(accInfo)
    return false
})

function acc(fname,lname, email){
    let accInfo = {fname, lname, email}
    return accInfo;
}

Bilal Ashraf
  • 25
  • 1
  • 4
  • Does this answer your question? [Define global variable in a JavaScript function](https://stackoverflow.com/questions/5786851/define-global-variable-in-a-javascript-function) – devlin carnate Apr 14 '20 at 19:49

2 Answers2

1

You can assign a global variable and save it for further usage outside the listener as follows:

let form1 = document.getElementById('form1');
let globalAccInfo = null;
form1.addEventListener('submit', () => {
    let fname = document.getElementById("defaultRegisterFormFirstName").value
    let lname = document.getElementById("defaultRegisterFormLastName").value
    let email = document.getElementById("defaultRegisterFormEmail").value
    var accInfo = acc(fname, lname,email);
    globalAccInfo = accInfo; //update it here
    console.log(accInfo)
    return false
})

function acc(fname,lname, email){
    let accInfo = {fname, lname, email}
    return accInfo;
}
Majed Badawi
  • 27,616
  • 4
  • 25
  • 48
1

define accInfo as a global variable, like this:

var accInfo; //leave it undefined for now
form1.addEventListener('submit', () => {
    //...
    accInfo = acc(fname, lname,email);
    //...
})

function acc(fname,lname, email){
    let anotherVariableName = {fname, lname, email}
    return anotherVariableName;
}

//now you can use it outside, but it will be undefined until the event listener is called
console.log(accInfo);

You have to change function acc to have another name for its variable though

Joe C.
  • 397
  • 4
  • 15