0

配列である HTML 要素を別のフォームに渡そうとしています。それほど難しいことではないと思いますが、考えられるほとんどすべての組み合わせを試しましたが、うまくいきません。

私はこの SELECT 要素を持つフォームを持っています:

<select name="preselectedCountries[]" size="9" multiple="multiple">
  <option value="Albania">Albania</option>
  <option value="Algeria">Algeria</option>

そして、私は別のフォームを持っています:

<form method="post" name="formGeneric" action="">
  <input type='hidden' name='preselectedCountries[]' value='' />

では、第一形態から第二形態への選択を譲りたいと思います。次のようなさまざまな形式で試しました。

<a href="#" onclick="document.formGeneric.preselectedCountries =
document.formIndex.preselectedCountries;"

または

<a href="#" onclick="document.formGeneric.preselectedCountries[] = 
document.formIndex.preselectedCountries[];"

と他の...しかし無駄に。

かなり調べましたが、解決策が見つかりませんでした。誰か私にヒントをくれませんか?! 大変感謝しています。ありがとう!

4

1 に答える 1

0

混乱を招くだけなので、要素名から [] を削除することから始めます。

次に、必要なjavascriptの行は

var selectObject = document.getElementsByName('preselectedCountries')[0];
var selectedArray = [];

for (var i=0; i < selectObject.options.length; i++)
{
 if(selectObject.options[i].selected)
 {
  selectedArray.push(selectObject.options[i].value);
 }
}

非表示のフォームが常に DOM ツリーの表示フォームの後にあると仮定すると、これにより、選択リストで選択された値を含む配列が得られるはずです。この配列をどうするかはあなた次第です。ToString()非表示の入力フィールドの値としてそれをアタッチするか、配列を直接アタッチすることができます。

于 2012-11-27T15:35:20.640 に答える