php - JavaScript 错误 : Object #<HTMLFormElement> has no method 'getElementById'

标签 php javascript html

我收到 Javascript 错误:对象 # 没有方法“getElementById”。我正在尝试使用一个按钮将所选元素传输到 HTML 中的另一个选择框。到处都看过,但没有人的解决方案似乎对我有用 =\

Javascript

<script language="javascript">
function addDivision()
{
    var selected = document.frmSubmit.getElementById("selectedDivisions");

    var div = document.frmSubmit.getElementById("divisions");
    var divId = div.options[div.selectedIndex].value;
    var divText = div.options[div.selectedIndex].text;

    var newOption = document.frmSubmit.createElement(divId);
    newOption.text = divText;

    selected.add(newOption,null);
}
</script>

HTML

<div id="content">
<form id="frmSubmit" name="frmSubmit" action="">


<div id="Step1Content">
    <h2 style="float:left">Step 1:</h2><p style="float:left; padding-top:10px; padding-left:20px;">Select your divisions</p>
    <div style="clear:both">
        <select id= "divisions" name="divisions" size="8">
    <?  //Getting divisions based on League_id
        $getDivisionsSQL = "Select * FROM level WHERE League_ID = '1' AND disabled = '0'";
        $getDivisionsQuery = $db->Query($getDivisionsSQL);
        while( $divRow = $db->GetRow($getDivisionsQuery) )
        {
            echo "<option id=".$divRow['id'].">".$divRow['description']."</option>";
        }
    ?>
        </select>
    <?  
        echo "<img id='doAdd' width='40px' height='25px' style='position: relative; bottom:75px; cursor:pointer;' src='".$baseImagesPath."greenArrow.png'/>";
        echo "<img id='doAdd' width='40px' height='25px' cursor:pointer; style='position: relative; bottom: 25px; right:40px; cursor:pointer;' src='".$baseImagesPath."redArrow.png'/>";
    ?>  
        <select style="position:relative; right:40px;" name="selectedDivisions" id="selectedDivisions" size="8">
    <?  //List of divisions to use

    ?>  <option>Apple</option>
        </select>
    </div>

</div>





<div style="padding-top:50px; padding-left:50px; width:100%; float:left; ">
    <h2 style="float:left">Step 2:</h2><p style="float:left; padding-top:10px; padding-left:20px;">Select the starting date of games</p>
</div>

<div style="padding-top:50px; padding-left:50px; width:100%; float:left">
    <h2 style="float:left">Step 3:</h2><p style="float:left; padding-top:10px; padding-left:20px;">Select the total number of weeks in the season</p>

<div style="padding-top:50px; width:100%; float:left">
    <input type="submit" value="Create Schedule">
</div>
</div>

</form>
</div>

最佳答案

出现此问题是因为您正尝试从节点元素使用 getElementById,而此方法属于 document。当您考虑它时,这是合乎逻辑的:ID 在您的页面中应该是唯一的,因此使用 dom 元素以按 id“过滤”元素是没有意义的。

所以,如果你改变:

document.frmSubmit.getElementById("selectedDivisions");

到:

document.getElementById("selectedDivisions");

一切都应该按预期工作。


作为旁注,节点元素支持 getElementsByTagNamegetElementsByClassName - 它们用于选择与指定标签/类名称匹配的所有子节点。

检查 API 引用: https://developer.mozilla.org/en-US/docs/Web/API/element

关于php - JavaScript 错误 : Object #<HTMLFormElement> has no method 'getElementById' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17972423/

相关文章:

javascript - 为什么此代码在 chrome、firefox 等中不起作用?

ruby-on-rails-3 - 如何使 HTML5 iframe seamless 属性在我的 Rails 3 应用程序中工作?

javascript - jquery - 使用提交按钮隐藏未选中的单选按钮

php - Mysql 按计数对子字符串列值进行排序

java - 哪种传输 JSON 数据的方式更优化?

PHP 不会在/directory/仅在/directory/index.php 接收 POST 请求

javascript - Window.print() 在 window.location.replace 之前运行

php - 使用 ci 访问 third_party 文件夹

php - 在即时搜索脚本中使用 PHP 而不是 JSON 作为输出

javascript - 如何从 Google Chrome 扩展重新呈现页面?