如何在onchange函数中传递两个值?

时间:2018-09-07 05:56:50

标签: javascript html

假设我有一个输入,其ID为customer_id,另一个输入为发票号,其ID为invoice_no。我已经在发票编号上放置了onchangefunction,通过编写onchange函数在onchange函数中传递了invoice_no值,但是我也想在此onchange函数中传递customer_id的值..我应该怎么做?

<input list="customer_id" id="customer_id"  name="customer_id" >


<input type="text" id="invoice_no" onchange="checkinvoice(this.value);"  name="invoice_no" > 

我要插入具有发票onchange功能this.value的customer_id输入的值

2 个答案:

答案 0 :(得分:3)

  

我也想传递customer_id的值

checkinvoice(this.value,document.getElementById('customer_id').value)

function checkinvoice(invoice_no, customer_id) {
  console.log('invoice_no', invoice_no, 'customer_id', customer_id);
}
<input list="customer_id" id="customer_id" name="customer_id">

<input type="text" id="invoice_no" onchange="checkinvoice(this.value,document.getElementById('customer_id').value);" name="invoice_no">

答案 1 :(得分:1)

您应该改为使用Javascript正确地附加事件处理程序(通常认为内联处理程序是非常糟糕的做法),然后使用querySelector选择其他元素,从中可以提取其值:

document.querySelector('#invoice_no').addEventListener('change', function() {
  const customerIdVal = document.querySelector('#customer_id').value;
  checkinvoice(this.value, customerIdVal);
});
function checkinvoice(invoiceNo, customerId) {
  console.log('invoiceNo', invoiceNo, 'customerId', customerId);
}
<input list="customer_id" id="customer_id"  name="customer_id" >
<input type="text" id="invoice_no" name="invoice_no" >