Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.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_Cascadingdropdown - Fatal编程技术网

基于Javascript动态设置输入值的级联选择

基于Javascript动态设置输入值的级联选择,javascript,html,cascadingdropdown,Javascript,Html,Cascadingdropdown,我有一个表单,它有两个字段field1和field2。 字段1为文本输入类型(只读),字段2为选择输入类型 现在功能是field1和field2是相关的。 根据字段1中的值,字段2下拉列表中的值取决于。 示例: 1> field1的值为animal,field2仅显示要选择的老虎、狮子。 2> field2的值为bird,field2仅显示蜂鸟和鹰以供选择 这是通过在字段1的html中设置默认值实现的。 但我需要根据表单名称动态填充字段1。 所以,若表单名为birdform,则field1值为b

我有一个表单,它有两个字段field1和field2。
字段1为文本输入类型(只读),字段2为选择输入类型

现在功能是field1和field2是相关的。
根据字段1中的值,字段2下拉列表中的值取决于。
示例:
1> field1的值为animal,field2仅显示要选择的老虎、狮子。
2> field2的值为bird,field2仅显示蜂鸟和鹰以供选择

这是通过在字段1的html中设置默认值实现的。
但我需要根据表单名称动态填充字段1。
所以,若表单名为birdform,则field1值为bird,同样,若表单名为animalform,则field1值为animal

我甚至通过以下代码实现了这一点:

 window.onload = function()
 {
    var f = document.getElementById("BirdForm");
    var temp = document.getElementById("field1");
    if(f.name == "BirdForm")
    {
        var temp1 = document.getElementById("BirdForm.field1");
        temp1.value = "Bird";
    }
 }
      <html>
      <head>
    <script>
    window.onload = function()
    {   
        var f = document.getElementById("t1");
        var temp = document.getElementById("CheckForm.t1");
        if(f.name == "CheckForm")
        {
          var temp1 = document.getElementById("CheckForm.t1");
          temp1.value = "Task";
        }
                document.CheckForm.submit();
    }

     </script>
         </head>
         <body>
          <form name="CheckForm">
                  <input type="text" id="t1"/>
          </form>
         </body>
      </html>
上面的一个成功地设置了field1的值,但是我看不到field2应该包含的值列表正在更新

更新1:我希望能满足我的要求。如果表单只被提交一次,下面的代码将完成它,但由于它每次再次提交时都会执行标头,因此它会不断地调用。我试图用flag变量来阻止它,但每次提交表单并再次执行头时,该值都会被刷新。请帮助我如何使用以下代码使表单仅提交一次:

 window.onload = function()
 {
    var f = document.getElementById("BirdForm");
    var temp = document.getElementById("field1");
    if(f.name == "BirdForm")
    {
        var temp1 = document.getElementById("BirdForm.field1");
        temp1.value = "Bird";
    }
 }
      <html>
      <head>
    <script>
    window.onload = function()
    {   
        var f = document.getElementById("t1");
        var temp = document.getElementById("CheckForm.t1");
        if(f.name == "CheckForm")
        {
          var temp1 = document.getElementById("CheckForm.t1");
          temp1.value = "Task";
        }
                document.CheckForm.submit();
    }

     </script>
         </head>
         <body>
          <form name="CheckForm">
                  <input type="text" id="t1"/>
          </form>
         </body>
      </html>

window.onload=函数()
{   
var f=document.getElementById(“t1”);
var temp=document.getElementById(“CheckForm.t1”);
如果(f.name==“检查表”)
{
var temp1=document.getElementById(“CheckForm.t1”);
temp1.value=“任务”;
}
document.CheckForm.submit();
}

请提供帮助。

能否为代码提供fiddle链接>请为代码提供JSFIDLE链接。请检查更新。