Изменение изображения в форме JavaScript по клику - PullRequest
0 голосов
/ 15 февраля 2011

В этом коде я получаю следующую ошибку: Исключение ... "Индекс или размер отрицателен или больше допустимого количества" код: "1" nsresult: "0x80530001 (NS_ERROR_DOM_INDEX_SIZE_ERR)". Чем это вызвано? Спасибо

    function makecard(){ 
    var bodypaint = document.getElementById('minaj'); 
    var recipient = document.getElementById("recipient").value 
    var radioboxes = document.forms["cardform"].phrase.length 
    var i = document.getElementById("color").selectedIndex; 
    var z = document.getElementById("city").selectedIndex; 
    var tchatche= document.getElementById("color").options[i].text; 
    var malouba= document.getElementById("city").options[z].value; 

    for(c=0; c<radioboxes; c++){ 
        if( document.forms["cardform"].phrase[c].checked){ 
            var phrasevalue=document.forms["cardform"].phrase[c].value; 
            break; 
        } 
    } 
    if(document.getElementById("color").options[i].text === "White"){ 
        bodypaint.style.backgroundColor ="White" 
    } 
    if(document.getElementById("color").options[i].text === "Red"){ 
        bodypaint.style.background ="Red" 
    } 
    if(document.getElementById("color").options[i].text === "Blue"){ 
        bodypaint.style.backgroundColor ="Blue" 
    } 
    var selectedcity = document.forms["cardform"].city.value 
    var paragraph = document.createElement("div"); 
    paragraph.setAttribute("id","card") 
    document.body.appendChild(paragraph) 
    var picture = document.createElement("img") 
    picture.setAttribute("src", "") 
    paragraph.appendChild(picture) 
    paragraph.appendChild(document.createTextNode(phrasevalue + " from " + selectedcity + recipient)) 

    if(malouba== "Paris"){ 
        document.getElementById("picture").src = "paris.jpg" 
    } 


    if(malouba== "Venice"){ 
        document.getElementById("picture").src = "venice.jpg" 
    } 


    if(malouba== "Rome"){ 
        document.getElementById("picture").src = "rome.jpg" 
    } 
} 
document.getElementById("makeacard").onclick = makecard; 

1 Ответ

0 голосов
/ 15 февраля 2011

Весьма вероятно, что одно из утверждений генерирует массив из 0 элементов, а затем, когда вы пытаетесь использовать его позже, он выходит из себя:

    var radioboxes = document.forms["cardform"].phrase.length

сделать небольшой console.log (radioboxes) наи посмотрите, вернется ли он неопределенным или пустым

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...