输入字段添加的javascript

时间:2016-07-21 07:32:29

标签: javascript html

//// JavaScript function to add input values display into another input field 
function calculate() {
  var x = document.getElementById('fee_selector_holder').value;
  var y = document.getElementById('content').value;
  var result = document.getElementById('result');
  var myResult = x + y;
  result.value = myResult;

}
<input type="text" name="hostelfees" id="content" oninput="calculate()">

<input type="text" name="fee_id" id="fee_selector_holder" oninput="calculate()">

<input type="text" id="result" name="totalfee">

我给输入字段赋值,但是添加连接但没有添加请在输入函数验证后验证是正确还是错误然后回复我这就是我的问题。

4 个答案:

答案 0 :(得分:1)

你有字符串,这就是它连接的原因。使用整数: http://www.w3schools.com/jsref/jsref_parseint.asp

它会很好用。

答案 1 :(得分:1)

首先,当您从DOM读取值时,它们将被读取为字符串。您必须使用parseIntparseFloat将字符串转换为整数。

其次,+运算符具有字符串的覆盖函数,以充当连接运算符。

另请注意,我使用了.value || 0。如果value不存在,则对其执行算术运算将返回NaN,因此添加默认值(0)。

//// JavaScript function to add input values display into another input field 
function calculate() {
  var x = document.getElementById('fee_selector_holder').value || 0;
  var y = document.getElementById('content').value || 0;
  var result = document.getElementById('result');
  var myResult = parseInt(x) + parseInt(y);
  result.value = myResult;

}
<input type="text" name="hostelfees" id="content" oninput="calculate()">

<input type="text" name="fee_id" id="fee_selector_holder" oninput="calculate()">

<input type="text" id="result" name="totalfee">

答案 2 :(得分:1)

您必须将输入值解析为整数,因为默认情况下所有输入值都是字符串:

WS_EX_LAYERED
//// JavaScript function to add input values display into another input field 
function calculate() {
  var x = document.getElementById('fee_selector_holder').value || 0; // default value 0 if input is blank
  var y = document.getElementById('content').value || 0; // default value 0 if input is blank
  var result = document.getElementById('result');
  var myResult = parseInt(x, 10) + parseInt(y, 10); // parse it here 
  result.value = myResult;

}

答案 3 :(得分:0)

您应该将属性添加到result

result.setAttribute("value", myResult);