2015-10-05 41 views
1

我试图让从特定的表单元素的值。我有100个表格,因为FOREACH ..我可以获取表单名称= 1表单名称= 10但我无法从特定表单中获取隐藏值。谁能帮我?谢谢。如何从特定表单中获取隐藏值?

[% FOREACH k_bilgi IN k_bilgiler %] 
<form name='[% k_bilgi.i%]'> 
<input type="hidden" name="itemnumberi" value="[% k_bilgi.itemnumber %]" /> 
<input type="hidden" name="returndate" value="[% k_bilgi.returndate %]" /> 
<input type="hidden" name="title" value="[% k_bilgi.title %]" /> 
<input type="hidden" id="author" name="author" value="[% k_bilgi.author %]" /> 
<input type="hidden" name="branchname" value="[% k_bilgi.branchname %]" /> 
</form> 
[% END %] 

我的javascript代码(B将是数字1或10或40)

function gonderildi(b) { 
var div1 = document.forms[i]; 
alert(div1)  // this works. 
var a = document.forms[i].elements['itemnumberi']; 
alert(a); // this is not work.. 

回答

1

如果使用id属性它更简单,功能强大。 ID查询速度更快。 你可以改变你的代码如下所示:

[% FOREACH k_bilgi IN k_bilgiler %] 
    <form name='[% k_bilgi.i%]'> 
     <input type="hidden" id="itemnumberi_[% k_bilgi.i%]" name="itemnumberi" value="[% k_bilgi.itemnumber %]" /> 
    </form> 
[% END %] 

function gonderildi(b) { 
    var div1 = document.forms[i]; 
    var a = document.forms[i].getElementById('itemnumberi_' + i); 
+0

它的工作原理。谢谢。我不需要使用“表格”..非常非常感谢 –

1
document.forms[i].querySelector("input[name='itemnumberi']") 
0

我想,你需要通过指数..试试这个。

function gonderildi(b) { 
var div1 = document.forms[i]; 
alert(div1)  // this works. 
var a = document.forms[i].elements[0]; 
alert(a); // It should work ..