Jquery 将输入值存储为变量,然后比较

Jquery 将输入值存储为变量,然后比较,jquery,node.js,input,Jquery,Node.js,Input,我试图比较表单中的两个输入值,以检查它们是否相同。最终,我想阻止提交时的默认操作,但我现在把validate按钮放进去,只是为了更容易地检查我是否捕获了正确的信息 //将密码输入存储为变量 $('#password1').keyup(函数(){ var value1=$(“#password1”).val(); $(“#password1”).val(value1); }); $('#password2').keyup(函数(){ var value2=$(“#password2”).val(

我试图比较表单中的两个输入值,以检查它们是否相同。最终,我想阻止提交时的默认操作,但我现在把validate按钮放进去,只是为了更容易地检查我是否捕获了正确的信息

//将密码输入存储为变量
$('#password1').keyup(函数(){
var value1=$(“#password1”).val();
$(“#password1”).val(value1);
});
$('#password2').keyup(函数(){
var value2=$(“#password2”).val();
$(“#password2”).val(value2);
});
//检查密码是否匹配
$('#validate')。在('submit',function()上{
如果(值1=值2){
警报(“是的,它们匹配”)
}否则{
警报(“密码不匹配”)
}
})

暗语
确认密码
形象
报名

验证
value1
value2
移出键控功能,然后可以从验证中访问它们

var value1 = "";
var value2 = "";
// store password inputs as variables
$('#password1').keyup(function() {
var值1=“”;
var值2=“”;
//将密码输入存储为变量
$('#password1').keyup(函数(){
value1=$(“#password1”).val();
$(“#password1”).val(value1);
});
$('#password2').keyup(函数(){
value2=$(“#password2”).val();
$(“#password2”).val(value2);
});
//检查密码是否匹配
$(“#验证”)。在('click',function()上{
如果(value1==value2&&value1.length>0&&value2.length>0){
警报(“是的,它们匹配”)
}否则{
警报(“密码不匹配”)
}
})

暗语
确认密码
形象
报名

验证
您的问题是因为
value1
value2
变量不在
submit
事件处理程序的范围内。只需读取
submit
事件处理程序中这些元素的
val()
,即可解决此问题并简化逻辑

此外,您还需要使用
==
===
进行比较<代码>=
用于设置值。
#validate
元素是一个按钮,它不会引发
提交
事件-您需要将其放置在
表单
元素上,尽管您可能需要在
表单
提交
验证
按钮的
单击
下运行此逻辑。考虑到所有这些,请尝试以下方法:

$('form')。在('submit',validate');
$(“#验证”)。在('click',validate)上
功能验证(e){
e、 preventDefault();//停止此演示中的提交
if($(“#密码1”).val()==$(“#密码2”).val()){
警报(“是的,它们匹配”)
}否则{
警报(“密码不匹配”)
}
}

暗语
确认密码
形象
报名
验证
  • 您不需要为每个输入更改设置变量
  • 您需要在
    if
    语句中使用
    ==
    ==
  • 您必须使用按钮
    #validate
    单击事件,而不是
    提交事件
  • -- 试试找我的零钱!希望这能有所帮助

    //检查密码是否匹配
    $(“#验证”)。在('click',function()上{
    var value1=$(“#password1”).val(),
    value2=$(“#password2”).val();
    如果(值1==值2){
    警报(“是的,它们匹配”)
    }否则{
    警报(“密码不匹配”)
    }
    })
    
    暗语
    确认密码
    形象
    报名
    
    验证
    Define
    value1
    value2
    外部变量单击处理程序和
    value1===value2
    要添加到这一点,当我单击验证按钮时控制台中出现的错误日志确认没有定义value2,显然,我没有正确地存储变量。这不是我使用var value2=$(“#password2”).val()所做的吗@Satpal感谢您指出这一点,他没有注意到他只使用了1
    =
    谢谢大家。只是简单地尝试了一下,变量现在确实可以访问了,这很好。我没有得到一些稍微奇怪的行为,因为我不能在输入框中正确键入-它会删除我输入的每个字符!!但我以后会仔细考虑,希望能解决这个问题。@DaveB1希望它能帮助你,很高兴help@DaveB1,浏览Rory的答案,这是一个全面的解决方案全面的解决方案:)我的荣幸!:)