2017-02-01 14 views
1

J'essaie de remplacer un peu de contenu de la page html. Je choisis avec succès à la chaîne, mais lorsque je tente de le remettre, html me montre « non défini »Javascript remplace le contenu de html

var count = 1; 
var count2 = 0; 
document.getElementById("element1").onkeyup = function() { 
    if (count2 === 0) { 
     var content1 = document.getElementById("element2").innerHTML; 
     count2 = 1; 
    } 
    if (document.getElementById("element1").value !== "") { 
     document.getElementById("element2").innerHTML = ""; 
     count = 0; 
    } else if (count === 0) { 
     document.getElementById("element2").innerHTML = content1; 
     count = 1; 
    } 
}; 

Tout le monde sait pourquoi?

+5

Eh bien 'content1' est indéfini si' count2! = 0' –

+4

Declare var content1 en tant que variable globale –

+0

What'are que vous essayez de faire? On ne sait pas ce qu'est 'content1' dans le dernier' if block' – Alessandro

Répondre

0

il est une question de levage, déclare content1 au début de la fonction, pas à l'intérieur d'un si statemenent

0

Ok j'ai résolu il. J'ai dû faire une variable globale content1.

var count = 1; 
var content1; 
window.onload = function() { 
    content1 = document.getElementById("element1").innerHTML; 
}; 
document.getElementById("element2").onkeyup = function() { 

    if (document.getElementById("element2").value !== "") { 
     document.getElementById("element1").innerHTML = ""; 
     count = 0; 
    } else if (count === 0) { 
     document.getElementById("element1").innerHTML = content1; 
     count = 1; 
    } 
};