使用javascript的实时表单结果

使用javascript的实时表单结果,javascript,jquery,ajax,forms,Javascript,Jquery,Ajax,Forms,我试图在表单的字段下面提供一条消息。消息将取决于在两个字段中输入的内容 我将如何使它使用这两个字段实时计算并通过计算传递它 这是小提琴 我使用它来获取文档值 var input1 = document.getElementById("input-mini"); var input2 = document.getElementById("input-mini2"); 在最后运行这个函数 yearCalculator(); 您可以在两个输入文件中都使用onchange=“yearCalculat

我试图在表单的字段下面提供一条消息。消息将取决于在两个字段中输入的内容

我将如何使它使用这两个字段实时计算并通过计算传递它

这是小提琴

我使用它来获取文档值

var input1 = document.getElementById("input-mini");
var input2 = document.getElementById("input-mini2");
在最后运行这个函数

yearCalculator();

您可以在两个输入文件中都使用onchange=“yearCalculator()”

您可以在两个输入文件中都使用onchange=“yearCalculator()”

您的代码中有许多缺失的部分

首先,您已经完全使用javascript编写了代码,并尝试使用jQuery语法

jQuery to set HTML     ---   msg.html(value);
javascriptto set HTML  ---   msg.html = value;
第二,当你检查的不是一个数字

它应该看起来像

val1===NaN//它不是字符串 此外,这将永远不会起作用,因为NaN永远不等于NaN

改用
isNaN()
方法

第三

否则,它只能在第一次加载脚本时工作

已清理代码

var input1 = document.getElementById("input-mini");
var input2 = document.getElementById("input-mini2");
var msg = document.getElementById('message');

input1.addEventListener('change', yearCalculator);
input2.addEventListener('change', yearCalculator);

function yearCalculator() {
   var yearOne = input1.value;
    var yearTwo = input2.value;
    val1 = parseInt(yearOne);
    val2 = parseInt(yearTwo);
    if (isNaN(val1) || isNaN(val2)) {
        msg.innerHTML = "Please enter a valid year !!";
        return;
    }
    var value1 = yearOne - yearTwo + 18;

    if (yearOne == yearTwo) {
        msg.innerHTML = "Both years are the same";
    }

    if (yearOne < yearTwo) {
        if (yearTwo < value1) {
            msg.innerHTML = "This is a good result";
        } else if (yearTwo > value1) {
            msg.innerHTML = "This is a bad result";
        } else {
            msg.innerHTML  = "This is neither good or bad";
        }
    }
    else {
      msg.innerHTML ="Year 1 is greater than Year 2";  
    }
};
yearCalculator();
var input1=document.getElementById(“输入迷你”);
var input2=document.getElementById(“input-mini2”);
var msg=document.getElementById('message');
input1.addEventListener('change',yearCalculator);
输入2.addEventListener('change',yearCalculator);
函数yearCalculator(){
var yearOne=输入1.0的值;
变量yearTwo=输入2.0的值;
val1=parseInt(第一年);
val2=parseInt(第二年);
if(isNaN(val1)| isNaN(val2)){
msg.innerHTML=“请输入有效年份!!”;
返回;
}
var值1=第一年-第二年+18;
如果(第一年==第二年){
msg.innerHTML=“两个年份相同”;
}
如果(第一年<第二年){
如果(第二年<值1){
msg.innerHTML=“这是一个好结果”;
}否则如果(第二年>值1){
msg.innerHTML=“这是一个坏结果”;
}否则{
msg.innerHTML=“这既不好也不坏”;
}
}
否则{
msg.innerHTML=“第1年大于第2年”;
}
};
年计算器();

您的代码中有许多缺失的部分

首先,您已经完全使用javascript编写了代码,并尝试使用jQuery语法

jQuery to set HTML     ---   msg.html(value);
javascriptto set HTML  ---   msg.html = value;
第二,当你检查的不是一个数字

它应该看起来像

val1===NaN//它不是字符串 此外,这将永远不会起作用,因为NaN永远不等于NaN

改用
isNaN()
方法

第三

否则,它只能在第一次加载脚本时工作

已清理代码

var input1 = document.getElementById("input-mini");
var input2 = document.getElementById("input-mini2");
var msg = document.getElementById('message');

input1.addEventListener('change', yearCalculator);
input2.addEventListener('change', yearCalculator);

function yearCalculator() {
   var yearOne = input1.value;
    var yearTwo = input2.value;
    val1 = parseInt(yearOne);
    val2 = parseInt(yearTwo);
    if (isNaN(val1) || isNaN(val2)) {
        msg.innerHTML = "Please enter a valid year !!";
        return;
    }
    var value1 = yearOne - yearTwo + 18;

    if (yearOne == yearTwo) {
        msg.innerHTML = "Both years are the same";
    }

    if (yearOne < yearTwo) {
        if (yearTwo < value1) {
            msg.innerHTML = "This is a good result";
        } else if (yearTwo > value1) {
            msg.innerHTML = "This is a bad result";
        } else {
            msg.innerHTML  = "This is neither good or bad";
        }
    }
    else {
      msg.innerHTML ="Year 1 is greater than Year 2";  
    }
};
yearCalculator();
var input1=document.getElementById(“输入迷你”);
var input2=document.getElementById(“input-mini2”);
var msg=document.getElementById('message');
input1.addEventListener('change',yearCalculator);
输入2.addEventListener('change',yearCalculator);
函数yearCalculator(){
var yearOne=输入1.0的值;
变量yearTwo=输入2.0的值;
val1=parseInt(第一年);
val2=parseInt(第二年);
if(isNaN(val1)| isNaN(val2)){
msg.innerHTML=“请输入有效年份!!”;
返回;
}
var值1=第一年-第二年+18;
如果(第一年==第二年){
msg.innerHTML=“两个年份相同”;
}
如果(第一年<第二年){
如果(第二年<值1){
msg.innerHTML=“这是一个好结果”;
}否则如果(第二年>值1){
msg.innerHTML=“这是一个坏结果”;
}否则{
msg.innerHTML=“这既不好也不坏”;
}
}
否则{
msg.innerHTML=“第1年大于第2年”;
}
};
年计算器();

首先将
class='message'
更改为
id='message'
。然后尝试以下代码:

var input1 = document.getElementById("input-mini");
var input2 = document.getElementById("input-mini2");
var yearOne = input1.value;
var yearTwo = input2.value;
var msg = document.getElementById('message');

function yearCalculator(value1, value2) {
     msg.innerHTML='';
    val1 = parseInt(value1);
    val2 = parseInt(value2);
    if (val1 === "NAN" || val2 === "NAN") return;


    var value1 = val1 - val2 + 18;

    if (val1 == val2) {
        msg.innerHTML="Both years are the same";
    }

    if (val1 < val2) {
        if (val2 < value1) {
            msg.innerHTML = "This is a good result";
        } else if (val2 > value1) {
            msg.innerHTML = "This is a bad result";
        } else {
            msg.innerHTML = "This is neither good or bad";
        }
    }
};
yearCalculator(yearOne,yearTwo);
input1.onkeyup=function() {
     yearCalculator(this.value,document.getElementById("input-mini2").value);
};
input2.onkeyup=function() {
     yearCalculator(document.getElementById("input-mini").value,this.value);
};
var input1=document.getElementById(“输入迷你”);
var input2=document.getElementById(“input-mini2”);
var yearOne=输入1.0的值;
变量yearTwo=输入2.0的值;
var msg=document.getElementById('message');
函数年份计算器(值1、值2){
msg.innerHTML='';
val1=parseInt(value1);
val2=parseInt(value2);
如果(val1==“NAN”| val2==“NAN”)返回;
var value1=val1-val2+18;
if(val1==val2){
msg.innerHTML=“两个年份相同”;
}
if(val1value1){
msg.innerHTML=“这是一个坏结果”;
}否则{
msg.innerHTML=“这既不好也不坏”;
}
}
};
年度计算器(第一年、第二年);
input1.onkeyup=函数(){
yearCalculator(this.value,document.getElementById(“input-mini2”).value);
};
input2.onkeyup=函数(){
yearCalculator(document.getElementById(“input mini”).value,this.value);
};

首先将
class='message'
更改为
id='message'
。然后尝试以下代码:

var input1 = document.getElementById("input-mini");
var input2 = document.getElementById("input-mini2");
var yearOne = input1.value;
var yearTwo = input2.value;
var msg = document.getElementById('message');

function yearCalculator(value1, value2) {
     msg.innerHTML='';
    val1 = parseInt(value1);
    val2 = parseInt(value2);
    if (val1 === "NAN" || val2 === "NAN") return;


    var value1 = val1 - val2 + 18;

    if (val1 == val2) {
        msg.innerHTML="Both years are the same";
    }

    if (val1 < val2) {
        if (val2 < value1) {
            msg.innerHTML = "This is a good result";
        } else if (val2 > value1) {
            msg.innerHTML = "This is a bad result";
        } else {
            msg.innerHTML = "This is neither good or bad";
        }
    }
};
yearCalculator(yearOne,yearTwo);
input1.onkeyup=function() {
     yearCalculator(this.value,document.getElementById("input-mini2").value);
};
input2.onkeyup=function() {
     yearCalculator(document.getElementById("input-mini").value,this.value);
};
var input1=document.getElementById(“输入迷你”);
var input2=document.getElementById(“input-mini2”);
var yearOne=输入1.0的值;
变量yearTwo=输入2.0的值;
var msg=document.getElementById('message');
函数年份计算器(值1、值2){
msg.innerHTML='';
val1=parseInt(value1);
val2=parseInt(value2);
如果(val1==“NAN”| val2==“NAN”)返回;
var value1=val1-val2+18;
if(val1==val2){
msg.innerHTML=“两个年份相同”;
}
if(val1value1){
msg.innerHTML=“这是一个坏结果”;
}否则{
msg.innerHTML=“这既不好也不坏”;
}
}
};
年度计算器(第一年、第二年);