JavaScript 变量返回 null

标签 javascript

我正在尝试构建一串用户的“兴趣”,他们通过选中单选框来表明这些兴趣。当我返回结果时,兴趣字符串前面总是有一个“未定义”。我知道我可以通过将 varinterest 初始化为空字符串来解决这个问题,如下所示:

var interests ="";

但我不确定这是否是解决问题的正确方法。有没有更优化的数据结构?

        var controlIndex;
        var element;
        var interests;
        var numberOfControls = document.form1.length;

       for (controlIndex = 0; controlIndex < numberOfControls; controlIndex++)

            {
                element = document.form1[controlIndex];
                if (element.type == "radio")
                {
                    if (element.checked == true)
                    {

                     interests += document.form1[controlIndex].value+"\n";


                     console.log(interests);
                     document.getElementById("interests").innerHTML= interests
                    }
                }
            }

        }


    }



<form action="" name="form1">
        <h1>Personal Details</h1>
        Please enter the following details:
        <br>
        <p>
        First Name:
        <br />
        <input type="text" name="txtName"  onchange="txtName_onchange()"/>
        </p>

        <p>
        Age:
        <br />
        <input type="text" name="txtAge" size="3" maxlength="3" onchange="textAge_onblur()" />
        </p>
        <p>
         My interest is:
        <p>Sports
        <input type="radio" name="sports"  value="sports"/>
        </p>
        <p>Politics
        <input type="radio" name="politics" value="politics" />
        </p>
        <p>Magazines
        <input type="radio" name="magazines" value="magazines">
        </p>
        <p>
        <input type="button" value="Submit Registration" name="btnCheckForm"  onclick="btnCheckForm_onclick()" >
        <input type = "button" value = "Clear Details" name="btnClear" onclick="btnClear_onclick()">
        </p>
    </form>
  </div>

最佳答案

我会将您的“兴趣”变量转换为数组。

var interests = [];

然后我就会像这样推进它。当您想打印出来时,只需加入即可。

             interests.push(document.form1[controlIndex].value);

             console.log(interests.join(""));

关于JavaScript 变量返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27117789/

相关文章:

javascript - 请解释一下这段 JavaScript 代码的作用

javascript - 具有多个域的单个 Meteor 应用程序

javascript - 从 javascript 对象列表中按属性获取值

javascript - 如何使用 Javascript 设置表单元素的值?

Javascript:在没有 Sum 的情况下添加数字?

javascript - 使用 innerHTML 显示的动态 div 与现有的静态内容重叠

javascript - 取消 jQuery 选择器调用?

javascript - 在 Ember.js 中加载关联模型

javascript - 使用格式动态设置 select2 选项

javascript将子字符串替换为重复次数的值