2011-01-25 12 views
1

JavaScriptを使用して作成された複数のフォームがWebページにあり、適切なフォームのフィールドに値(startDate)を設定したいとします。JavaScript形式仕様

私は次のコードを試してみました:

oForm = document.forms['bookingform' + fleetID]; 
oFormElement = oForm.elements['startdate']; 
oFormElement.value = startDate; 

を...しかし、エラーが出る "oForm.elementsはnullまたはオブジェクトではありませんです"。

これまでは、フォームオブジェクトを作成する代わりに、document.getElementById( 'startdate')。valueを使用していました。どのフォームに値を設定するかを指定するときは、正しいアプローチはどれですか?

+1

あなたが真剣にjQueryを使用して検討すべきです。 '$( '予約フォームの入力[name =" startdate "])。val(startDate);'は十分です。 –

答えて

0

form.elementsはプレーンな配列です。だからあなたはインデックスを知っているか、それとも検索しなければならないのか。あなたが検索している場合は

Form = document.forms['bookingform' + fleetID]; 
oFormElement = oForm.elements[0]; // This is the index of the element 
oFormElement.value = startDate; 

が、それはこのようなものだ:

Form = document.forms['bookingform' + fleetID]; 
var oFormElement; 
for (var i = 0, len = oForm.elements.length; i < len; ++i) { 
    if (oForm.elements[i].name == "startdate") { 
     oFormElement = oForm.elements[i]; 
     break; 
    } 
} 
if (oFormElement) { 
    oFormElement = oForm.elements[0]; // This is the index of the element 
    oFormElement.value = startDate; 
} else { 
    // crash 
} 
+0

ありがとうKrow、とても役に立ちました。 –