2013-06-07 4 views
0

자바 스크립트에서 값을 양식의 필드로 전달하려고합니다. 그러나, 그것은 작동하지 않는 것 같습니다. HTML 코드는 다음과 같습니다getElementById 값이 작동하지 않습니다.

자바 스크립트 파일에
<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> 

, 나는 데 문제가 내가 인덱스 입력 필드에 값을 할당하려고 마지막 줄입니다. 이 작업을 수행하면 가치가 반환되지 않습니다.

<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> 

어떻게이 값을 얻을 수 있습니까? 도와 주셔서 감사합니다. 대신

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

+3

당신이 무엇을 의미합니까? 'id = "index"가있는 요소는 숨겨진 필드입니다. 스크립트 오류를 ​​확인 했습니까? – jfriend00

+2

당신은'while (n)'을 가지고 있지만 루프 안의'n'의 값은 변경하지 않습니다. 달리 작동 시키면 무한 루프가됩니다. – JJJ

+0

그는 그가 백 엔드에서 그 가치를받지 못한다는 것을 의미합니다. –

답변

3

코드 아래 사용하십시오 : 당신이 "값 반환"을 말할 때

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

@Linus Beautify에 감사드립니다. – TechBytes

+0

그래, 효과가있었습니다. Linus에게 감사드립니다. – kchow23

+0

@ user2464576, 문제 없습니다! 나는 특히 다른 사람이 대답을 게시 할 때 도움을 받는다. ;-) –

관련 문제