-1
これは、フォーム要素をその属性とともに作成するMy forms fieldsオブジェクトです。 jQueryのをポストでデータベースに提出するJavascript Select Option Valueを取得するには
var model = vehicle.extend(vehicle.compare, {
fromFields:[{
id: 'vehicle',
label: 'Vehicle',
name: 'vehicle',
type: 'select',
options: [
{label: 'KBS999H', value:'BU'},
{label: 'KBB343T', value:'LO'},
{label: 'KBD342H', value:'YU'}
]
},{
id: 'modelId',
label: 'Vehicle Model',
name: 'model',
type: 'select',
options: [
{label: 'TOYOTA', value:'TT'},
{label: 'VOXY', value:'VO'},
{label: 'MISTUBISHI', value:'MIST'},
{label: 'SUBARU', value:'SU'}
]
},{
id: 'price',
label: 'Price',
name: 'price',
type: 'number'
}]
});
使用せず以下のように私はこれは私がフォームを送信しようとしていますフレームワークの一部であるのdocument.getElementById()メソッドによって、フォームからの選択オプションの値を取得しようとしています
submitForm: function(){
var me = this;
var formValues = me.fromFields.filter(function(el){
if (el.type == 'select' && el.options){
//to get the selected value
var select = document.getElementById(el.options[name]).value;
console.log(me.fromFields.id);
}
var formEl = me.getEl(el.id);
if(formEl && formEl.value)
return el;
}).map(function(el){
var formEl = me.getEl(el.id);
return encodeURIComponent(el.name) + '='
+ encodeURIComponent(formEl.value);
}).join('&');
me.ajaxRequest.call({
httpMethod: 'POST',
httpUrl: me.formUrl,
requestParams: formValues,
responseTarget: me.responseTarget,
updateTarget: function(resp){
if(me.aftersubmit)
me.aftersubmit();
}
});
}
にエラーが発生しました
TypeError: document.getElementById(...) is null
var select = document.getElementById(el.options[name]).value;
あなたはこのコードを呼び出していますか? Nullは要素が存在しないことを意味します。 – skyline3000
選択フィールドの値を使用します。あなたはオプションの値を明示的に提出しません。それはユーザーが選択するためのものです。そして、その値は、提出の準備ができた選択値に割り当てられます。 – ManoDestra