Javascript/ HTML传输表单控件提交

Javascript/ HTML Transferring form Controls to submit

本文关键字:控件 提交 表单 传输 HTML Javascript      更新时间:2023-09-26

我一直在尝试创建一个有5个文本框,1个下拉框和一个文本区域的表单。我的意图很简单;从下拉菜单中选择一个选项(第一个选项除外,即"——选择——"),将内容输入文本框和文本区域。一旦我点击提交所有上述输入的信息应该得到附加到特定的链接,是硬编码到每个下拉选项。

我的挑战是,当我点击提交时,控件没有被传递到新的表单,即所需的页面打开,但表单字段没有被输入。我已经交叉核实并确认id是正确的。我猜我在验证中犯了一个错误。请指出我的错误。

Javascript代码

<script type="text/javascript">
function dpdown(form)
{
    var a="&name="+document.getElementById('name').value;  //textbox
    var b="&job_id="+document.getElementById('job_id').value;//textbox
    var c="&major"+document.getElementById("major').value;//textbox
    var d="&native="+document.getElementById('native').value;//textbox
    var e="&age="+document.getElementById('age').value;//textbox
    var f="&details="+encodeURIComponent(document.getElementById('details').value);//textarea
    var i, counter = 0;
    var ddl = document.getElementById("jobs");//dropdown
    var selectedValue = ddl.options[ddl.selectedIndex].value;
    for(var i=0; i < obj.options.length; i++)
         {   
              if(obj.options[i].selected) // to check if the person has chosen a suitable degree
                    if (selectedValue == "selectdegree")
                     {
                       alert("Please select your correct degree");
                     } 
                     else
                     {
                       ++counter;
                       window.open('https://'+form.elements[i].value+a+b+c+d+e+f,'_blank'); // when the submit button is clicked, all the above fields should get appended to a preset link which has been hardcoded for each degree.
                     }
          }
}
function cleartext()// to clear the form (works correctly)
{
 document.form.details.value='';
}

HTML代码

    <form onsubmit="dpdown(this); return false;"> // at the beginning of the form
'
'
'
'
 <input type="submit" value=" Create form" /> // not working
 <input type='reset' value='Clear Ticket' name='reset' onclick="return resetForm(this.form);cleartext();"> // works well

请检查。

<html>
<head>
    <script language="javascript">
        function dpdown(){
            var a="&name="+document.getElementById('name').value;  //textbox
            var b="&job_id="+document.getElementById('job_id').value;//textbox
            var c="&major"+document.getElementById('major').value;//textbox
            var d="&native="+document.getElementById('native').value;//textbox
            var e="&age="+document.getElementById('age').value;//textbox
            var f="&details="+encodeURIComponent(document.getElementById('details').value);//textarea
            var i, counter = 0;
            var ddl = document.getElementById("jobs");//dropdown
            var selectedValue = ddl.options[ddl.selectedIndex].value;
            for(var i=0; i < ddl.length; i++)
                 {   
                      if(ddl.options[i].selected) // to check if the person has chosen a suitable degree
                            if (selectedValue == "selectdegree")
                             {
                               alert("Please select your correct degree");
                             } 
                             else
                             {
                               ++counter;
                               value=ddl.options[i].value;
                               window.open('https://'+value+a+b+c+d+e+f,'_blank'); // when the submit button is clicked, all the above fields should get appended to a preset link which has been hardcoded for each degree.
                             }
                  }
        }
        function cleartext()
        {
         document.form.details.value='';
        }
    </script>
</head>
<body>
    <form> 
        <input type="text" id="name"/>
        <input type="text" id="job_id"/>
        <input type="text" id="major"/>
        <input type="text" id="native"/>
        <input type="text" id="age"/>
        <input type="textarea" id="details"/>
        <select id="jobs" >
        <option value="www.google.com">google</option>
        <option value="www.yahoo.com">yahoo</option>
        <option value="www.stackoverflow.com">stackoverflow</option>        
        </select>
        <input type="button" value=" Create form" onclick="dpdown();"/> 
        <input type='reset' value='Clear Ticket' name='reset' onclick="return resetForm(this.form);cleartext();">
    </form>
</body>
</html>