Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何修复';脚本应该为每个类创建下拉选项';列表'';_Javascript_Html - Fatal编程技术网

Javascript 如何修复';脚本应该为每个类创建下拉选项';列表'';

Javascript 如何修复';脚本应该为每个类创建下拉选项';列表'';,javascript,html,Javascript,Html,我正在用html表单创建一个脚本,用于向下拉列表中添加选项,但它不起作用。为什么它不起作用 我第一次尝试使用“getElementByID”,提交后该选项被添加到下拉列表中。 但我希望在不止一个下拉列表中添加新选项,因此我将“id”更改为“class”,将“getElementByID”更改为“getElementsbyClassName”,现在它停止工作。我不确定新添加的for循环,因为它以前工作过 window.onload=函数newoption(a){ var x=document.g

我正在用html表单创建一个脚本,用于向下拉列表中添加选项,但它不起作用。为什么它不起作用

我第一次尝试使用“getElementByID”,提交后该选项被添加到下拉列表中。 但我希望在不止一个下拉列表中添加新选项,因此我将“id”更改为“class”,将“getElementByID”更改为“getElementsbyClassName”,现在它停止工作。我不确定新添加的for循环,因为它以前工作过

window.onload=函数newoption(a){
var x=document.getElementsByClassName(“列表”);
var i;
对于(i;i

1.
2.
3.
4.
添加选项

我希望我没有弄错您的要求

  • 您不需要
    onload
    ——事实上,如果您只想在下拉列表中添加选项,甚至不需要提交表单(重定向到另一个页面)。我让你的表格不再提交了。我通过将按钮内的
    type=“submit”
    替换为
    type=“button”
    实现了这一点。我还从您的表单中删除了不必要的代码

  • 您需要为变量
    i
    指定一个值。否则,循环甚至不会启动,因为条件(
    i
    )将始终为false

    do
    var i=0
    用于(变量i=0;…)
    函数新选项(a){
    var x=document.getElementsByClassName(“列表”);
    var i=0;
    对于(i;i
    
    1.
    2.
    3.
    4.
    添加选项
    
    您好,谢谢您的快速回答。我试图编辑我的问题并指定我的问题。我希望现在能更清楚地理解。好吧,这是有道理的。但我还有一个问题。您想不想提交表格?因为您在
    onsubmit
    上调用
    newoption
    ,但同时在函数调用后立即返回false。您还将
    newoption
    分配给
    window.onload
    。这使我困惑。那么,您是希望表单提交(重定向到另一个页面)还是只想在下拉列表中添加选项?噢。。是的,我想在同一页上提交-所以只需在下拉列表中添加选项!我认为需要
    窗口。onload
    在站点刷新时加载它。而
    false
    是针对else情况的?我不确定它是如何正确工作的。太好了,谢谢你详细的回答。这对我帮助很大@anme98很乐意帮忙!:)。