2017-09-29 7 views
-1

Très bien, j'essaye d'écrire encore un autre programme pour pratiquer mon Javascript, et j'ai atteint un autre barrage routier. Pour l'instant, le programme est simple. Sélectionnez dans une liste déroulante à partir d'une liste d'ethnies (actuellement limitée à "Suédois" et "Italien"), puis le programme écrira une courte description de leur apparence (stéréotypée), et postera une photo. Ou plutôt, changez l'image par défaut "Mystery man".L'image ne changera pas en modifiant "src"

La première partie fonctionne très bien. Le texte change selon que vous sélectionnez "Suédois" ou "Italien". La partie image ne le fait pas. L'image ne changera pas de son image par défaut "Mystery man". Pourquoi donc?

var ethnicities = [{ 
 
    name: "Swede", 
 
    eyecolor: "blue", 
 
    hairtex: "straight", 
 
    fp: 1, 
 
    pic: "Swedish.png" 
 
    }, 
 
    { 
 
    name: "Italian", 
 
    eyecolor: "brown", 
 
    hairtex: "curly", 
 
    fp: 2, 
 
    pic: "Italian.png" 
 
    } 
 
]; 
 

 

 
function description() { 
 
    var desc = "The " + ethnicities[document.EPF.EPDD.value].name + 
 
    " is " + ethnicities[document.EPF.EPDD.value].eyecolor + "-eyed and " + 
 
    ethnicities[document.EPF.EPDD.value].hairtex + "-haired." + 
 
    ""; 
 

 

 

 
    document.getElementById("demo").innerHTML = desc; 
 
    document.getElementbyId("picture").src = ethnicities[document.EPF.EPDD.value].pic; 
 
    //so weird, it just doesn't chnage it. It doesn't matter what I put on the 
 
    //right of the equal sign. 
 
}
<p>Ethnicity presets:</p> 
 
<form name="EPF"> 
 
    <select name="EPDD"> 
 
    <option value="0">Swede</option> 
 
    <option value="1">Italian</option> 
 
    
 
    </select> 
 

 
    <input type="button" value="Submit" onClick="description()"> 
 

 
</form> 
 
<p id="demo"> </p> 
 

 
<img id="picture" src="Mystery man.png" alt="unknown">

+9

Typo, 'getElementbyId' devrait être' getElementById' – adeneo

+0

Oh mon dieu, merci! C'est incroyable comme les petites choses vous permettent de programmer! –

+1

Vous devriez supprimer ceci. – Rob

Répondre

0
document.getElementbyId("picture").src = ethnicities[documen... 

devrait être

document.getElementById("picture").src = ethnicities[documen... 

Vous avez oublié de tirer le 'b' dans 'elementById'

0

Ceci est juste erreur de syntaxe n'oubliez pas toujours regarde la console. Il suffit d'écrire en lettres majuscules "B" dans "document.getElementById()".