2012-09-27 66 views
1

得到動態的隱藏元素我有一個看起來像這樣的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個隱藏的輸入,並將其所有值都更改爲空。任何幫助非常感謝!

+0

感謝格式化的形式對我來說j08691,我不知道如何正確地格式化 – Stefan

回答

3

請注意,.0將不是有效的語法 - 因此,您可以使用[0],因爲您可以將任何表達式放在括號內(例如數字,字符串)。的確,您還可以使用+運算符,因爲+可以應用於表達式。這解決了您的問題:

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

你也可以使用["forms"]代替.forms等基本上,.符號只是[]符號的一個子集。

+0

謝謝你的快速回復,這是正是我所期待的。當網站允許我在5分鐘內標記爲正確 – Stefan

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

它在功能上並不完全相同,但無論如何你不需要'.each'。 – pimvdb

+0

@pimvdb確實如此。 – ejohansson