Javascript 我的Jquery代码有什么问题?如果密码不匹配,尝试不重新加载表单
当我点击提交时,如果我的密码1和密码2不匹配,我试图使我的表单不重新加载。我的代码有什么问题,附加html和jsJavascript 我的Jquery代码有什么问题?如果密码不匹配,尝试不重新加载表单,javascript,jquery,html,forms,flask,Javascript,Jquery,Html,Forms,Flask,当我点击提交时,如果我的密码1和密码2不匹配,我试图使我的表单不重新加载。我的代码有什么问题,附加html和js <label for="password">Lösenord: </label> <input type="password" class="form-control" id="password" name="password" placeholder="Lösenord" required> <p>
<label for="password">Lösenord: </label>
<input type="password" class="form-control" id="password" name="password" placeholder="Lösenord" required>
<p>
</p>
<label for="password2">Upprepa Lösenord: </label>
<input type="password" class="form-control" id="password2" name="password2" placeholder="Lösenord" required>
<p>
</p>
更新:已尝试更改为“!=”和passwor.val(),但仍不起作用 如果我没记错的话,您只得到对DOM元素的引用。要获取该值,需要使用
.val()
你也在做除法而不是比较。您的if语句比较应为:
$("#submit").click( function(event) {
var password1 = $("#password").val();
var password2 = $("#password2").val();
if (password1 !== password2) {
event.preventDefault();
}
});
if(password1.val()!==password2.val()){
您还需要在click listener上传递事件对象。因此,总体而言,它应该是:
$("#submit").click( function(event) {
var password1 = $("#password").val();
var password2 = $("#password2").val();
if (password1 !== password2) {
event.preventDefault();
}
});
将单击事件附加到
preventDefault()
的一部分,
简单逻辑比较器!=
应该在您的示例中使用,因为它与对象类型无关,如果字段为空,则最终会阻止真正的验证
$(“#提交”)。单击(功能(事件){
var password1=$(“#password”).val().length>0?$(“#password”).val():'a';
var password2=$(“#password2”).val().length>0?$(“#password2”).val():'b';
//如果为空,则防止为true
如果(密码1!=密码2){
event.preventDefault();
}
});
Lösenord:
乌普雷帕·洛塞诺德:
好啊
除了@Joshua Robles指出的问题
向输入字段添加空的值属性,如下所示:
完整代码和演示:
$(“#提交”)。单击(功能(事件){
var password1=$(“#password”).val();
var password2=$(“#password2”).val();
如果(密码1!==密码2){
警报(“密码不匹配”)
event.preventDefault();
}
});
Lösenord:
乌普雷帕·洛塞诺德:
忽略“警报功能”password1/=password2
?你在这里用除法做什么?我想你有一个输入错误,“password1/=password2”应该是password1!=password2@CodeManiac我很确定他们在尝试“不=”好了。我想Haskell使用了这个操作符。试过了,看到我的输入错误,仍然不起作用。我应该也更改我的var声明还是保持不变?是的,我没有注意到。你的代码上有公开的全局preventDefault
函数吗?你可能需要在onClick函数上有一个事件
参数,然后使用preventDefault
来自该对象的函数。我将更新我的回答我没有提交按钮的onclick函数,它通过我的routes.py工作并发送一个post方法。我认为Jquery占主导地位?我对Jquery是新手。我的想法是preventDefault阻止提交通常使用的post方法。您正在创建一个cli在你的提交按钮上点击事件监听器。我建议你阅读javascript基础知识和jquery如何工作,以便完全理解你正在尝试做的事情。再说一遍,我不建议你使用jquery,因为它们以前提供的许多功能现在已经在现代浏览器上可用。我更新了我的答案。希望它能有所帮助!