1

I have a problem I would say stupid with html and javascript, a simple function that should make me visible and invisible a div crashes the html making it empty!

<button onclick="open()">Modifica</button>

js:

var x = document.getElementById ("joseph");
   if (x.hidden == false) {
     x.hidden = true;
   } else {
     x.hidden = false;
}

before: enter image description here

after: enter image description here

2 Answers2

2

You don't have to write pre-defined methods. It works same for all other tech stacks such as Mysql, PHP, etc.

Recommend using opens, not open if you insist to use the open word.

<button onclick="opens()">Modifica</button>
seagulls0125
  • 139
  • 8
1

You've hit a variation of this problem.

When searching for a variable named open the browser finds document.open before it finds your open function.

document.open opens a new document for writing (with document.write) which erases the existing document.

window.open is also predefined, so making a new global function with that name is not advised.

As with the linked question: Use addEventListener instead of onclick attributes.

Quentin
  • 914,110
  • 126
  • 1,211
  • 1,335