我正在創建一個包含動態數量的輸入文本框的表單。我希望每個文本框形成一個數組的一部分(這在理論上會讓我更容易循環它們,特別是因爲我不知道最終將存在的文本字段的數量)。 HTML代碼想是這樣的:使用jQuery或純Javascript使用HTML輸入文本框的數組訪問
<p>Field 1: <input type="text" name="field[1]" id="field[1]"></p>
<p>Field 2: <input type="text" name="field[2]" id="field[2]"></p>
<p>Field 3: <input type="text" name="field[3]" id="field[3]"></p>
<p>Field 4: <input type="text" name="field[4]" id="field[4]"></p>
<p>Field 5: <input type="text" name="field[5]" id="field[5]"></p>
然後,這些數據將被髮送到一個PHP腳本,並會被表示爲一個陣列 - 或者至少,這是理論。
所以我的第一個問題是,這是否可以使用HTML?設計的表單是以這種方式工作的嗎?
如果答案是「是」,那麼我該如何去訪問使用jQuery的每個人,或者失敗,這是普通的舊JavaScript?
我已經嘗試此使用下面的jQuery代碼來實現:
someval = $('#field[1]').val();
和
someval = $('#field')[1].val();
和下面的JavaScript:
someval = document.getElementById('related_link_url')[1].value;
但我已經沒有運氣好的話。
在此先感謝。
編輯:
我要指出,但從一個Javascript一點,我已經受夠了工作,其中每個元素的ID是一樣的東西field_1,field_2等。不過,我覺得,如果我可以通過將每個文本框放入一個數組來實現它,它會使代碼管理更加整潔。
這很有趣。所以名稱字段可以包含[],但ID不能。因此,至少從PHP的角度來看,我仍然可以將$ _POST ['field']數據視爲一個數組? 並使用$(「input [name = field [1]]」)。val()我仍然可以使用jQuery訪問該值。所以關鍵是使用名稱而不依賴於ID。 – greggannicott 2010-02-03 13:46:27
@greggannicott:方括號在名稱屬性中是允許的,但不在ID屬性中。我認爲正確的方式來使用它的PHP只是'name =「field []」'而不是'name =「field [n]」'但我可能會被誤認爲兩者都可能工作。 – 2010-02-03 13:51:20