我有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;
但不起作用,有人可以帮我吗?
答案 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);