Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.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 getElementById值不工作_Javascript_Html_Getelementbyid - Fatal编程技术网

Javascript getElementById值不工作

Javascript getElementById值不工作,javascript,html,getelementbyid,Javascript,Html,Getelementbyid,我试图将值从javascript传递到表单上的字段。然而,它似乎不起作用。html代码是: <html> <head> <title>Insert title here</title> </head> <body onload="splitter()"> <p>Are you sure you want to delete?</p> <form name="

我试图将值从javascript传递到表单上的字段。然而,它似乎不起作用。html代码是:

<html>
  <head>
     <title>Insert title here</title>
  </head>
  <body onload="splitter()">
    <p>Are you sure you want to delete?</p>
    <form name="myform" action="http://localhost:8080/EfsiDatabase/timer"
          method="post">
      <input type="hidden" name="action" value="delete">
      <input type="hidden" name="index" id="index">
      <input type="submit" name="submit" value="Delete">
    </form>
  </body>
</html>

在此处插入标题
您确定要删除吗

在javascript文件中,我遇到的问题是我试图将值分配给索引输入字段的最后一行。执行此操作时没有返回值

<script type="text/javascript">
function splitter() 
{
    var str=window.location.search;
    var replaced=str.replace("?entry=","");
    var n=replaced.split("&entry=");
    var i=0;
    var form = document.forms['myform'];
    while(n)
    {
       var x=n[i].split("%7C%7C");

       var e1 = document.createElement("input");
       e1.type = "hidden";
       e1.name = "staff"+i;
       e1.value = x[0];
       var e2 = document.createElement("input");
       e2.type = "hidden";
       e2.name = "date"+i;
       e2.value = x[1];
       var e3 = document.createElement("input");
       e3.type = "hidden";
       e3.name = "project"+i;
       e3.value = x[2];
       var e4 = document.createElement("input");
       e4.type = "hidden";
       e4.name = "task"+i;
       e4.value = x[3];
       var e5 = document.createElement("input");
       e5.type = "hidden";
       e5.name = "notes"+i;
       e5.value = x[4];
       var e6 = document.createElement("input");
       e6.type = "hidden";
       e6.name = "hours"+i;
       e6.value = x[5];

       form.appendChild(e1);
       form.appendChild(e2);
       form.appendChild(e3);
       form.appendChild(e4);
       form.appendChild(e5);
       form.appendChild(e6);
       i++;
    }
    document.getElementById("index").value=i+1;
}
</script>

函数拆分器()
{
var str=window.location.search;
var replaced=str.replace(“?entry=“,”);
var n=replaced.split(“&entry=”);
var i=0;
var form=document.forms['myform'];
while(n)
{
var x=n[i]。拆分(“%7C%7C”);
var e1=document.createElement(“输入”);
e1.type=“隐藏”;
e1.name=“staff”+i;
e1.value=x[0];
var e2=document.createElement(“输入”);
e2.type=“隐藏”;
e2.name=“日期”+i;
e2.value=x[1];
var e3=document.createElement(“输入”);
e3.type=“隐藏”;
e3.name=“项目”+i;
e3.value=x[2];
var e4=document.createElement(“输入”);
e4.type=“隐藏”;
e4.name=“任务”+i;
e4.value=x[3];
var e5=document.createElement(“输入”);
e5.type=“隐藏”;
e5.name=“注释”+i;
e5.数值=x[4];
var e6=document.createElement(“输入”);
e6.type=“隐藏”;
e6.name=“小时数”+i;
e6.value=x[5];
表格.附属儿童(e1);;
表2.儿童(e2);
表格3(e3);
表格.附属儿童(e4);;
表格.附属儿童(e5);;
表格.附属儿童(e6);;
i++;
}
document.getElementById(“索引”).value=i+1;
}
如何使用此方法获取值?谢谢你的帮助。

代替

while(n)
{
    var x=n[i].split("%7C%7C");
    // ...
}
请使用以下代码:

while(n[i])
{
    var x=n[i].split("%7C%7C");
    // ...
}

你说“没有价值回报”是什么意思?带有
id=“index”
的元素是一个隐藏字段。您是否检查了脚本错误?您有
while(n)
,但从未在循环中更改
n
的值。如果你让它以其他方式工作,那将是一个无限循环。他的意思是他没有在后端接收到它的值。如果你将
“?entry=“
”替换为
,你就不能在查询字符串上用
“&entry”
进行拆分,只要你没有两个“entry”。但是你不改变
n
。这不是一个
foreach
。据我所知,你的
while
应该无限循环,甚至不会循环一次,这取决于拆分的结果。@Linus谢谢你的帮助Beautify@user2464576,没问题!我喜欢帮助别人,尤其是当别人发布答案时