使用javascript自动计算输入值

时间:2017-08-07 12:36:26

标签: javascript jquery html

我有3个输入:

<input type="text" id ="text1"/><br>
<input type="text" id ="text2"/><br>
<input type="text" readonly="readonly" disabled="disabled" id ="text3"/>

第3个输入被禁用,我喜欢他的值等于:(val(text2)/ val(text1)* 100-100)当我传递另外两个输入的值时

所以我试试这个脚本:

var p1 = document.getElementById('#text1').value;
var p2 = document.getElementById('#text2').value; 
document.getElementById('#text3').value = ((p1/p2)*100)-100;

但不起作用,有人可以帮我吗?

5 个答案:

答案 0 :(得分:6)

jquery中存在#。你应该键入纯javascript:

var p1 = document.getElementById('text1').value;
var p2 = document.getElementById('text2').value; 
document.getElementById('text3').value = ((p1/p2)*100)-100;

答案 1 :(得分:1)

删除不应该在这里的'#'。 '#'适用于JQuery而非原始JS。

var p1 = document.getElementById('text1').value;
var p2 = document.getElementById('text2').value; 
document.getElementById('text3').value = ((p1/p2)*100)-100;

或者如果您使用的是JQuery:

var p1 = $('#text1').val();
var p2 = $('#text').val();
$('#text3').val( ((p1/p2)*100)-100);

答案 2 :(得分:0)

  

说明:您已使用document.getElementbyID来检索   文本框中的值和您采用的方法是错误的。

方法一:

var p1 = document.getElementById('text1').value;
var p2 = document.getElementById('text2').value; 
document.getElementById('text3').value = ((p1/p2)*100)-100; 

您可以采取的另一种方法是

var p1 = $('#text1').val();
var p2 = $('#text2').val; 
var p3 = ((p1/p2)*100)-100;
$('#text3').val(p3);
  

从已经给出的输入中立即获取值

HTML:

<input type="text" id ="text1" onblur="someFunction()"/><br>
<input type="text" id ="text2" onblur="someFunction()"/><br>
<input type="text" readonly="readonly" disabled="disabled" id ="text3"/>

Javascript / Jquery:

function someFunction()
{
    var p1 = $('#text1').val();
    var p2 = $('#text2').val; 
    if(p1=='' || p2=='')
    {
        alert('Please Fill all the Values');
    }
    else
    {
        var p3 = ((p1/p2)*100)-100;
        $('#text3').val(p3);
    }    
}

答案 3 :(得分:0)

或者使用JQuery,因为你有这个标签(更短的版本):

var p1 = $('#text1').value;
var p2 = $('#text2').value; 
if(p2 != 0)
{
    $('#text3').value = ((p1/p2)*100)-100;
}

不要忘记检查分母为0。

答案 4 :(得分:0)

用三行代替你的代码,

var p1 = parseFloat(document.getElementById('text1').value);
var p2 = parseFloat(document.getElementById('text2').value); 
document.getElementById('#text3').value = parseFloat(((p1/p2)*100)-100);