繁体   English   中英

javascript html可变表格输入

[英]javascript html variable form entry

我有一个html表格select选项下拉列表,其中包含以下选项:运输与物流部门TRANSFLO Solutions业务部门Western业务部门其他

我有以下javascript,它根据上述选择将值输入到Job Title变量中。

var data = {
    "Transportation & Logistics Unit": [
        'Transportation &',
        'Logistics Unit'
    ],
    "TRANSFLO Solutions Business Unit": [
        'TRANSFLO Solutions',
        'Business Unit'
    ],
    "Western Business Unit": [
        'Western Business Unit',
        ''
    ],
    "Other": [
        document.getElementById('t1_t2_c_p_variableTextForm_pageTpl_v06CompanyDivision_other').value,
        ''
    ],
    "Western Canada Petroleum Solutions": [
        'Western Canada Petroleum Solutions',
        ''
    ]
}

该函数是:

function SetJobTitle() {
    var choice = spec['v06CompanyDivision'].selectedText();
    spec['v02JobTitle1'].value = data[choice][0];
    spec['v03JobTitle2'].value = data[choice][1];
}

当用户选择“选项”时,将出现一个文本输入框,以便可以输入文本。 输入框的元素ID为“ t1_t2_c_p_variableTextForm_pageTpl_v06CompanyDivision_other”。

上面的“其他”的var数据值不起作用,所以我想知道您是否可以说出我所缺少的内容。

谢谢

编辑:

通过更改SetJobTitle函数,我可以将某些东西添加到spec ['v02JobTitle1']。value中:

function SetJobTitle() {
    var choice == spec['v06CompanyDivision'].selectedText();
    if (data[choice][0] = 'Other') {
        spec['v02JobTitle1'].value =       document.getElementById('t1_t2_c_p_variableTextForm_pageTpl_v06CompanyDivision_other').value;
    } else {
        spec['v02JobTitle1'].value = data[choice][0];
        spec['v03JobTitle2'].value = data[choice][1];
    }
}

但是,由于下拉菜单的变化,它似乎有点尴尬。 如果我只是在输入框中编辑值,则不会更改。 在这种情况下我可以做些什么吗?

选择后,您应该从输入框中获取价值,或者听取它的变化并处理它

所以你的代码

document.getElementById('t1_t2_c_p_variableTextForm_pageTpl_v06CompanyDivision_other').value

每次更改输入框或任何其他触发和接收到的值时都应调用它,并将其放置在需要的位置

data Other条目更改为"Other": [function(){return document.getElementById('t1_t2_c_p_variableTextForm_pageTpl_v06CompanyDivision_other').value},'']

function SetJobTitle() {
    var choice = spec['v06CompanyDivision'].selectedText();
    if(choice === 'Other')
        spec['v02JobTitle1'].value = data[choice][0]();
    else
        spec['v02JobTitle1'].value = data[choice][0];
    spec['v03JobTitle2'].value = data[choice][1];
}

这应该对您有帮助。 它是一个令人讨厌的代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM