Передача nsIDOMHTMLSelectElement в качестве параметра функции вызывает исключение - PullRequest
1 голос
/ 04 июня 2011

Следующий скрипт выдает сообщение об ошибке:

uncaught exception: [Exception... "Could not convert JavaScript argument arg 0 
[nsIDOMHTMLSelectElement.add]" nsresult: 
"0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location: 
"JS frame :: file:///D:/programming/temp/js_bug/page.html 
:: addOption :: line 13" data: no]

Кусок HTML со скриптом:

<form name = "form">
    <select name = "select">
    </select>            
</form>
<script>
    //This way of adding an option fails  
    function addOption(selectElement, optionText)
    {                        
        var option = document.createElement("option")
        option.text = optionText
        selectElement.add(optionText, null);
    }
    element = document.getElementsByName("select")[0]
    addOption(element, "2")
    /* This way of adding an option works
    option = document.createElement("option")
    option.text = "1"
    element.add(option, null)*/
</script>

Прокомментированный код работает правильно. Я вижу только разницу между кодом, который работает, и кодом, который не работает - передача объекта DOM в качестве параметра функции.
Я работаю над Firefox 3.6.17

1 Ответ

0 голосов
/ 04 июня 2011

Я думаю, вы должны передать option (не optionText) методу add().

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