Javascript 获取元素ID';s表示if/else语句

Javascript 获取元素ID';s表示if/else语句,javascript,forms,if-statement,getelementbyid,window.open,Javascript,Forms,If Statement,Getelementbyid,Window.open,在一个项目上工作。我需要else语句才能工作,但当我点击提交按钮时,它只是重定向到“if” var判断金额=document.getElementById(“判断金额”); var amountCollected=document.getElementById('amountCollected'); 函数判断计算器(){ 如果(判决金额-收取金额

在一个项目上工作。我需要else语句才能工作,但当我点击提交按钮时,它只是重定向到“if”


var判断金额=document.getElementById(“判断金额”);
var amountCollected=document.getElementById('amountCollected');
函数判断计算器(){
如果(判决金额-收取金额<10000){
打开窗户http://afjudgment.com' );
}否则{
打开窗户http://www.yahoo.com' );
}
}
应用
本人理解,本申请既不要求本人做出肯定性判断,也不要求本人做出肯定性判断

判断信息 你有箱号吗? 判决金额 迄今为止收取的金额
您需要使用元素的值进行操作:

function judgmentCalc() {

  var judgmentAmount = +document.getElementById('judgmentAmount').value;
  var amountCollected = +document.getElementById('amountCollected').value;

  if( judgmentAmount - amountCollected < 10000 ) {
    window.open( 'http://afjudgment.com' );
  } 
  else {
    window.open( 'http://www.yahoo.com' );
  }
}
function judgmentCalc() {
    // notice that we're using VALUE here:
    if( judgmentAmount.value - amountCollected.value < 10000 ) {
        window.open( 'http://afjudgment.com' );
    }else {
        window.open( 'http://www.yahoo.com' );
    }
}

您只是在比较对象,需要比较它们的值

var judgmentAmount = Number(document.getElementById('judgmentAmount').value);
var amountCollected = Number(document.getElementById('amountCollected').value);
另外,在比较之前将它们转换为数字

function judgmentCalc() {
    var judgmentAmount = Number(document.getElementById('judgmentAmount').value);
    var amountCollected = Number(document.getElementById('amountCollected').value);
    if( judgmentAmount - amountCollected < 10000 ) {
        window.open( 'http://afjudgment.com' );
    }else {
        window.open( 'http://www.yahoo.com' );
    }
}
函数判断计算器(){
var判断金额=编号(document.getElementById(“判断金额”).value);
var amountCollected=Number(document.getElementById('amountCollected').value);
如果(判决金额-收取金额<10000){
打开窗户http://afjudgment.com' );
}否则{
打开窗户http://www.yahoo.com' );
}
}

您需要访问这些输入字段的值,而不是直接处理
document.getElementById()返回的dom元素。您可以使用
.value
属性获取
输入的值

var judgmentAmount = document.getElementById('judgmentAmount').value;
var amountCollected = document.getElementById('amountCollected').value;

将变量移动到函数中,以便在函数执行时正确填充变量,并添加DOM元素的.value属性

试试这个:

    function judgmentCalc() {
      var judgmentAmount = document.getElementById('judgmentAmount').value;
      var amountCollected = document.getElementById('amountCollected').value;
        if( judgmentAmount - amountCollected < 10000 ) {
            window.open( 'http://afjudgment.com' );
        }else {
            window.open( 'http://www.yahoo.com' );
        }
    }
函数判断计算器(){
var判断金额=document.getElementById(“判断金额”).value;
var amountCollected=document.getElementById('amountCollected').value;
如果(判决金额-收取金额<10000){
打开窗户http://afjudgment.com' );
}否则{
打开窗户http://www.yahoo.com' );
}
}

您将在此处获得HTML DOM元素:

var judgmentAmount = document.getElementById('judgmentAmount');
var amountCollected = document.getElementById('amountCollected');
因此,在您的
判断CALC
方法中,您需要获得这些元素的值:

function judgmentCalc() {

  var judgmentAmount = +document.getElementById('judgmentAmount').value;
  var amountCollected = +document.getElementById('amountCollected').value;

  if( judgmentAmount - amountCollected < 10000 ) {
    window.open( 'http://afjudgment.com' );
  } 
  else {
    window.open( 'http://www.yahoo.com' );
  }
}
function judgmentCalc() {
    // notice that we're using VALUE here:
    if( judgmentAmount.value - amountCollected.value < 10000 ) {
        window.open( 'http://afjudgment.com' );
    }else {
        window.open( 'http://www.yahoo.com' );
    }
}
函数判断计算器(){
//请注意,我们在这里使用的是值:
if(判断金额.价值-已收集金额.价值<10000){
打开窗户http://afjudgment.com' );
}否则{
打开窗户http://www.yahoo.com' );
}
}

请运行下面的脚本,它可以正常工作:

<head>
<script>
    function judgmentCalc() {
        var judgmentAmount = document.getElementById('judgmentAmount').value;
        var amountCollected = document.getElementById('amountCollected').value;

        var exp = parseFloat(judgmentAmount) - parseFloat(amountCollected);

        if( exp < 10000 ) {
            window.open( 'http://afjudgment.com' );
        } else {
            window.open( 'http://www.yahoo.com' );
        }
    }
</script>
</head>

函数判断计算器(){
var判断金额=document.getElementById(“判断金额”).value;
var amountCollected=document.getElementById('amountCollected').value;
var exp=parseFloat(判断金额)-parseFloat(已收集金额);
如果(exp<10000){
打开窗户http://afjudgment.com' );
}否则{
打开窗户http://www.yahoo.com' );
}
}

您必须比较输入元素的值,请尝试以下操作

function judgmentCalc() {
    var judgmentAmount = document.getElementById('judgmentAmount').value;
    var amountCollected = document.getElementById('amountCollected').value;

    if( (judgmentAmount - amountCollected) < 10000 ) {
        window.open( 'http://afjudgment.com' );
    } else {
        window.open( 'http://www.yahoo.com' );
    }
}
函数判断计算器(){
var判断金额=document.getElementById(“判断金额”).value;
var amountCollected=document.getElementById('amountCollected').value;
如果((判决金额-收取金额)<10000){
打开窗户http://afjudgment.com' );
}否则{
打开窗户http://www.yahoo.com' );
}
}

这可能对你有帮助。

我认为这行不通。这些行不在
judimentcalc
函数的范围内,因此在单击
Save
@jasonscript之前不会被更新。你是对的,我错过了这一行。谢谢至少在这种情况下,
Number
是不必要的。@torazaburo当然,但至少在这种情况下,
是这里的关键短语。在另一个上下文中,如果OP选择执行
判断金额+已收集金额
而不是
判断金额-已收集金额
,我们可能会看到另一个问题,即为什么
判断金额+已收集金额
不能正常工作。那么,您调试了这个,对吗?在
var判断金额
行上放置一个断点,然后跨过该断点检查变量的值。您会发现它是一个
HTMLInputElement
,而不是您期望的值。这会提醒您在进行比较之前需要获取该元素的值。它的工作原理与您预期的一样。实际上,不需要使用
parseFloat
,因为减法将强制将值转换为数字。