2011-11-11 49 views
1

"add more"ボタンでダイナミックに生成される3つのHTMLフォーム入力フィールドがあり、フィールド名にはfieldName, fieldName1, fieldName2, fieldName3という名前が付けられます。スクリプトはどのように動作させることができますか?

今、私はこのフィールドからJavaScriptを使用して、以下のスクリプトを使用して値を取得しようとしています。私はそうでfieldName1fieldName2の値を期待し、そしてだとき、私はalert(qty)を使用するときに「私は」ループ のためにより生成される数値の数となって、それは、NaN返すと

var bookingForm = document.forms['formName']; 

var qty = bookingForm.fieldName +'i'.value; 

しかし、私が使用すると、

var qty = bookingForm.fieldName.value 

私はそのフィールドの値を取得しますが、私はフィールド名で、1,2,3を連結しようとすると、NaNを得ることができます。

ご協力いただければ幸いです。

+5

これは私がまだスクリプトで問題が発生したSO –

答えて

1

あなたは、文字列を使用して、プロパティにアクセスするためのブラケットを使用してみてください。

var qty = bookingForm['fieldName' + i].value; 
+0

にする必要があります。 bookingForm ['fieldName' + i]ループ内の.valueは、未定義のエラーを返します。しかし、私はbookingForm ['fieldName' + '1']。valueを試してみると、すべてが意図通りにうまくいっています。 – sality63

+0

@ sality63:どのような問題? – Guffa

+0

bookingForm ['fieldName' + i]。ループ内の.valueは、未定義のエラーを返します。しかし、私はbookingForm ['fieldName' + '1']。valueを試してみると、すべてが意図通りにうまくいっています。 – sality63

1

次のようなコードを使用することはできません。

var qty = bookingForm.fieldName +'i'.value; 

bookingForm.fieldName +'i'は文字列です。 .valueパラメータにアクセスするには、その文字列をDOM要素に変更する必要があります。

1

document.getElementsByName('fieldName'+i)[0].value

関連する問題