Jquery 将输入值存储为变量,然后比较
我试图比较表单中的两个输入值,以检查它们是否相同。最终,我想阻止提交时的默认操作,但我现在把validate按钮放进去,只是为了更容易地检查我是否捕获了正确的信息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(
//将密码输入存储为变量
$('#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){
警报(“是的,它们匹配”)
}否则{
警报(“密码不匹配”)
}
})
暗语
确认密码
形象
报名
验证
Definevalue1
和value2
外部变量单击处理程序和value1===value2
要添加到这一点,当我单击验证按钮时控制台中出现的错误日志确认没有定义value2,显然,我没有正确地存储变量。这不是我使用var value2=$(“#password2”).val()所做的吗@Satpal感谢您指出这一点,他没有注意到他只使用了1=
谢谢大家。只是简单地尝试了一下,变量现在确实可以访问了,这很好。我没有得到一些稍微奇怪的行为,因为我不能在输入框中正确键入-它会删除我输入的每个字符!!但我以后会仔细考虑,希望能解决这个问题。@DaveB1希望它能帮助你,很高兴help@DaveB1,浏览Rory的答案,这是一个全面的解决方案全面的解决方案:)我的荣幸!:)