user2514364
user2514364

Reputation: 139

Object #<HTMLDocument> has no method 'getElementByName'

I copy some javascript example form jsfiddle and run them on local server but it shows the error on google chrome at inspect_element/console. Any suggestions for fixing this? Thanks.

error:

Uncaught TypeError: Object #<HTMLDocument> has no method 'getElementByName'
compute onclick

my code:

<!DOCTYPE html>
<html>
<head>
    <title>My fruit</title>
    <script type="text/javascript">
    function checkFruit(){
        var fruit_radio_pointers = document.getElementsByName("fruit");
        var which_fruit = null;
        for(var i=0; i<fruit_radio_pointers.length; i++){
            if(fruit_radio_pointers[i].checked){
                which_fruit = fruit_radio_pointers[i].value;  
                break;            
            }    
        }
        alert(which_fruit);
    }

    document.getElementById("my_btn").addEventListener("click", checkFruit, false);
    </script>
</head>
<body>
    <p>
    <button id="my_btn">Which Fruit?</button>
</p>
</body>
</html>

Upvotes: 0

Views: 2938

Answers (1)

Jordan
Jordan

Reputation: 1433

Names do not enforce uniqueness in html, so the function is getElementsByName (note the s after Element). When you change this, remember it will return an array, not one element.

Upvotes: 1

Related Questions