javascript从表单中获取动态隐藏元素

时间:2012-09-27 20:24:31

标签: javascript

我有一个看起来像这样的表单

<FORM>
    <INPUT TYPE='hidden' NAME='search0' VALUE='a'> 
    <INPUT TYPE='hidden' NAME='search1' VALUE='b'>
    ... etc 
    <INPUT TYPE='hidden' NAME='search100' VALUE='abc'>
</FORM> 

在我的javascript中,我想做的事情是:

 for (i=0;i<=100;i++) { 
     document.forms[0].search+i+.value = '';
 }

显然这不是有效的语法,我只是不确定如何获取所有100个隐藏的输入并将其所有值更改为空。任何帮助非常感谢!

2 个答案:

答案 0 :(得分:3)

请注意,.0不是有效语法 - 因此您使用[0]因为您可以将任何表达式放在此类括号内(例如数字,字符串)。实际上,您也可以使用+运算符,因为+可以应用于表达式。这解决了您的问题:

document.forms[0]["search" + i].value = '';

您也可以使用["forms"]代替.forms等。基本上,.表示法只是[]表示法的一个子集。

答案 1 :(得分:0)

jQuery“几乎但不是真的”等同于:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
  /* all input that has a name that starts with search */
  $("input[name^=search]").each(function (){
    /* set the value to empty */
    $(this).val('');
  }
}
</script>