使用document.getElementById()在jquery函数中传递多个参数

时间:2016-03-07 16:30:03

标签: javascript jquery

我有一个在jquery中创建的动态表单和模糊事件我想获得输入字段的值。我的输入文本字段看起来像这样。

 <td><input type="text" id="strtdt-'+processtype+'-'+i+'" class="form-control" placeholder=""  onblur="getTripInput('+processtype+','+i+')" onchange="changeInputNumberFormat(this);"></td>

<input type="text" id="enddt-'+processtype+'-'+i+'" class="form-control dynamic-input" placeholder=""   onclick="getTripInput('+i+','+processtype+')" onchange="changeInputNumberFormat(this);"></td>

这是在我避开的jquery中创建的,它给了我这个。

<input type="text" id="strtdt-single_yarn-0" class="form-control" placeholder="" onblur="getTripInput(single_yarn,0)" onchange="changeInputNumberFormat(this);">

<input type="number" id="enddt-single_yarn-0" class="form-control" placeholder="" onclick="getTripInput(single_yarn,0)" onchange="changeInputNumberFormat(this);">

onblur事件

function getTripInput(processType,i){
    var strtdt = document.getElementById('strtdt-'+processType+'-'+i).value;
    var enddt = document.getElementById('enddt-'+processType+'-'+i).value;
    var productionloss = document.getElementById('proloss-'+processType+'-'+i).value;

    alert(strtdt);
    alert(enddt);
    alert(productionloss);
}

给出错误

common.js:1854Uncaught TypeError: Cannot read property 'value' of null

指向getTripInput() function第一行var strtdt

问题是,如果我从所有地方i删除任何一个参数processTypegetTripInput(),并从我的input text field中移除此功能。

1 个答案:

答案 0 :(得分:0)

我认为你得到它是因为我可以在一个输入中看到你已经使用过

getTripInput(single_yarn,0)

另一个是:

getTripInput(0,single_yarn)

是故意还是错误。

对于getTripInput函数中的第二个,它变为:

document.getElementById('strtdt-0-single_yarn').value;

因此它实际上是未定义的。