Функция Javascript не загружается, ошибки не отображаются в консоли разработчика Chrome

0

Я пытаюсь создать простую функцию javascript, которая будет заполнять 2 раскрывающихся окна, один для возраста, а другой для пола.

Однако функции не работают, и я не могу понять, почему. Любая помощь будет оценена.

Код:

    <head>

<script type="text/javascript">

    function AgeDropDown(){
        var list=getElementById(UserProfileAge);
        for(var i=1;i<100;i++)
        {
            var opt = document.createElement("option");
            opt.value= i;
            UserProfileAge.appendChild(opt);
        }
    }

    function genderlist(){
        var choices=new array["M","F"];
        for(i=0;i<choices.length;i++)
        {
            var opt = document.createElement("option");
            opt.value= i;
            UserProfileGender.appendChild(opt);
        }
    }

</script>

</head>
<body>
<?php
include("usermenubar.inc");
?>
<form id='UserProfile' name='UserProfile' method='POST' action='editdetails.php'>


<div class='UserDetails'><!--dropdown-->
    Age:<select id='UserProfileAge' name='UserProfileAge' onclick='AgeDropDown'>
    <option value=''>Please enter your age</option>
    </select>
</div>

<div class='UserDetails'><!--Dropdown-->
    Gender:<select id='UserProfileGender' name='UserProfileGender' onclick="genderlist">
    <option value=''>Please enter your gender</option>
    </select>
</div>


<input type='submit' name='UserProfleSubmit' value='Save Changes'/>
</form>
</body>
</html>
  • 2
    попробуйте с AgeDropDown () и sexlist () в html "onclick"
Теги:

2 ответа

1
Лучший ответ

Это может помочь:

function load(){
    AgeDropDown();
    genderlist();
    }

 function AgeDropDown(){
        var list=document.getElementById("UserProfileAge");
        for(var i=1;i<100;i++)
        {
            var opt = document.createElement("option");
            opt.value= i;
            list.appendChild(opt);
        }
  }

    function genderlist(){
        var choices=new array["M","F"];
        for(i=0;i<choices.length;i++)
        {
            createOption(document.getElementById("UserProfileGender"));
        }
    }
  • 0
    Я пробовал то, что вы перечислили, но я все еще получаю Uncaught ReferenceError: getElementById не определен. При нажатии на него, он указывает на AgeDropDown, загрузки и загрузки. я понятия не имею, почему он не определен, когда он уже есть ..
  • 1
    Первая строка внутри AgeDropDown () должна иметь вид var list = document.getElementById ("UserProfileAge");
1

Ваши функции загружаются, но они никогда не исполняются, потому что они никогда не вызываются. Вы должны вызвать функцию в какой-то момент в вашем html файле. Лучшая практика заключается в том, чтобы запустить код инициализации, например, при событии onload на странице.

<script>
function load()
{
  AgeDropDown();
  genderlist()
}
... 
</script>



<body onload="load()">
  • 0
    Привет, Алон, спасибо, что нашли время ответить, я отредактировал мой код с твоими предложениями. Однако при загрузке страницы и нажатии на кнопку выбора я получаю ошибку uncaughtreferenceerorc для кликов. Есть идеи, почему это так?
  • 2
    var list = getElementById (UserProfileAge); должно быть var list = getElementById ("UserProfileAge");
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню