从外部javascript文件访问表单元素

时间:2013-10-14 22:08:43

标签: javascript forms

这似乎很简单,我真的很想了解这一点。这是我的问题。

我有一个选择,在表单中有几个不同的选项。我需要一个变量来保持选择哪个选项,以便从那里我可以根据所选内容做不同的事情。

这是我的HTML:

    <!DOCTYPE html>
    <html>
    <head>
        <title>Test</title>
        <script src="script.js" type="text/javascript"></script>
    </head>
    <body>

    <form method="get">
        <table>
            <tr>
                <p>
                    Please choose your class:
                </p>
            </tr>
            <tr>
                <td>
                    <select name= "classSelect" id="classSelect" size = "3">
                        <option value = "CS211" selected = "selected">CS-211</option>
                        <option value = "CS111">CS-111</option>
                        <option value = "CS275">CS-275</option>
                    </select>
                </td>
            </tr>
        </form
    </body>
</html>

然后在我的javascript文件中,我只想声明一个全局变量:

var currentSelection = document.forms[0].classSelect.selectedIndex;

现在currentSelection总是为null,我不知道为什么。

1 个答案:

答案 0 :(得分:3)

当您设置变量时,DOM尚未呈现。等待DOM触发ready事件或将脚本设置为在文档加载后运行。这是一个解决方案:

window.onload = function() {
  // run this code on load
};

请注意,这将覆盖以前的onload函数。如果你有jQuery可用,你应该这样做,以避免任何覆盖:

$(window).load(function() {});

这些变体也有效:

$(function() {});
$(document).ready(function() {});