Javascript 从不同类型的表单中获取结果

Javascript 从不同类型的表单中获取结果,javascript,html,Javascript,Html,因此,我创建了一个from,我希望在用户按下submit按钮时,将用户选择的选项显示在一个有序列表中。我已经尝试了我能找到的一切,我得到的所有三个变量“info”的结果都是未定义的。如果你能帮我,我会很高兴的谢谢你 下面是为表单编写的te代码 你最喜欢的音乐类型是什么 流行音乐 岩石 古典的 说唱/嘻哈 电子的 国 另外 我不听音乐!(WUT??) 你通常如何通勤到UVic? 公共汽车 驾驶 自行车 步行 爬行 飞 你最喜欢的意大利面酱汁是什么? 提交 重置 下面是为函数“resul

因此,我创建了一个from,我希望在用户按下submit按钮时,将用户选择的选项显示在一个有序列表中。我已经尝试了我能找到的一切,我得到的所有三个变量“info”的结果都是未定义的。如果你能帮我,我会很高兴的谢谢你

下面是为表单编写的te代码


你最喜欢的音乐类型是什么

流行音乐 岩石 古典的 说唱/嘻哈 电子的 国 另外 我不听音乐!(WUT??)

你通常如何通勤到UVic? 公共汽车 驾驶 自行车 步行 爬行 飞
你最喜欢的意大利面酱汁是什么?
提交 重置
下面是为函数“result()”编写的javascript,该函数假定在按下submit按钮时工作

函数结果(){
var info=新数组();
信息[0]=document.getElementById(“m”).value;
info[1]=document.getElementById(“t”).value;
info[2]=document.getElementById(“p”).值;
info.sort();
var mySubmit=document.getElementById(“myResult”);
变量y=“”;

对于(var i=0;i事实上,您的代码中存在一些问题。我已经纠正了一些问题,下面是您希望的工作

您不应该获取div的值,div元素具有NOTvalue属性。这是代码的主要问题。此外,您不必分隔表单,所有输入都可以包含在一个表单中

此外,我还添加了JQuery以简化作业,例如,获取单选按钮的值:

info[0]=$('input[name=“genre”]:checked').val();

我不会为你解决这个问题,因为你根本无法自己学习,所以问题如下:

  • 不需要多个表单
  • 您尚未关闭任何表单(并非需要多个表单),尽管这不是错误的原因
  • 在javascript中,您试图获取除法的值。
    不是表单字段/元素,因此它没有值。因此,结果是
    未定义
  • 我的建议是,检查一些关于HTML表单的基本教程,并正确理解它们。检查一些示例。否则,除了试图从没有任何值的元素中获取数据值之外,您的javascript基本上是正确的


    我希望此有助于

    在标记中,使用

    而不是

    1)不需要多个表单2)(div没有值)3)
    <form id="music">
                        <div id="m"> 
                        <p>What is your favourite genre of music?</p>
                <input type="radio" name="genre" value="Pop" id="Pop" checked> <label for ="Pop"> Pop </label>
                <input type="radio" name="genre" id="Rock" > <label for ="Rock"> Rock </label>
                <input type="radio" name="genre" id="Classical"> <label for ="Classical"> Classical </label>
                <input type="radio" name="genre" id="Rap/HipHop" > <label for ="Rap/HipHop"> Rap/HipHop </label>
                <input type="radio" name="genre" id="Electronic" > <label for ="Electronic"> Electronic </label>
                <input type="radio" name="genre" id="Country" > <label for ="Country"> Country </label>
                <input type="radio" name="genre" id="Other" > <label for ="Other"> Other </label>
                <input type="radio" name="genre" id="don't listen to music" > <label for ="don't listen to music"> I don't listen to music! (WUT??) </label>
                </div> 
                </br>
                </br>
                How do you usually commute to UVic?
                <div id="t">
                <form id="trans">
                <select name="commute">
                        <option value="Bus"> Bus </option>
                        <option value="Drive"> Drive </option>
                        <option value="Bike"> Bike </option>
                        <option value="Walk"> Walk </option>
                        <option value="Crawl"> Crawl -__- </option>
                        <option value="Fly"> Fly?!! </option>
                </select>
                </div>
                </br>
                <div id="p">
                <form id="pasta">
                What is your favourite type of sauce on pasta?
                <input type="text" name="sauce" value="Sauce boss"> 
                </div>
                </br>
                <button type="button" onclick="result()"> Submit </button>
                <button type="reset" value="Reset">Reset</button>
        <ol id="myResult"> &nbsp; </ol>
    
    function result() { 
            var info = new Array();
    
    info[0] = document.getElementById("m").value;
    
    
    info[1] = document.getElementById("t").value;
    
    
    info[2] = document.getElementById("p").value;
    
    info.sort();
    
    var mySubmit = document.getElementById("myResult");
    
    var y = " ";
    
    for (var i=0; i<info.length; i++)
    
     {
      var x = info[i];
    
        y = y + "<ol>" + x + "</ol>";
     }
    
     mySubmit.innerHTML = y;
    
    }