我怎样才能得到一个Javascript选择选项值提交到数据库的Post

How can I get a Javascript Select Option Value to be Submitted to the database by Post

本文关键字:选项 选择 Javascript 提交 Post 数据库 一个      更新时间:2023-09-26

这是创建表单元素及其属性的My form fields对象。我试图通过document.getElementById()方法从表单中获得选择选项值,如下所示,而不使用JQuery

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'
}]
});

这是框架的一部分,我试图提交表单

    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;

你到底想干什么?

您可以像这样获取select字段的值:

var select = document.querySelector('select');
// Selected string value.
var selected = select.value;
// Selected option element.
var selectedOptionElement = select.options[select.selectedIndex];