我的输入框是没有在form里面,只是input,如下:
<div class="form-group">
<label class="sr-only" for="dialogLoginInputPassword">密码</label>
<input v-model="user.pass | passValidator" type="password" name="password" class="form-control flat" placeholder="密码">
</div>
<div class="form-group">
<label class="sr-only" for="dialogLoginInputComfirm">密码</label>
<input v-model="user.confirm | confirmValidator" type="password" name="confirm"class="form-control flat" placeholder="密码确认" onblur="equalcheck()">
</div>
而且JavaScript是在同一个页面的下方,格式如下:
<javascript>
module.experts(){
data:function(){ ###},
filter:{###},
computed:{###},
methods:{###}
}
</javascript>
我的equalcheck()是
function equalcheck(){
if(password.value != confirm.value){
alert("once again");
return false;
}
}
请问我写的equalcheck方法有错误吗,就是判断两次输入的密码是否一致,
如果我写的不对请问该如何修改,如果写的对,请问该放在JavaScript的什么地方?JavaScript里面的那些data function、filter、computed,methods格式不能变。谢谢老师
equalcheck未定义应该是你equalcheck所在的script代码块有语法问题导致出错而没有注册equalcheck函数。自己用浏览器工具看什么错误。
并且你的input元素只有name,没有id,只有name这样无法通过xxxx.value获取对象,加上id,而且建议不要直接通过id引用对象,而是通过document.getElementById来获取。而且id不要起和系统对象的一样,要不到时出错都不知道什么问题,如confirm。。
将你的equalcheck函数单独放一个script,防止其他代码的影响
<div class="form-group">
<label class="sr-only" for="dialogLoginInputPassword">密码</label>
<input v-model="user.pass | passValidator" type="password" id="password" name="password" class="form-control flat" placeholder="密码">
</div>
<div class="form-group">
<label class="sr-only" for="dialogLoginInputComfirm">密码</label>
<input v-model="user.confirm | confirmValidator" id="confirm" type="password" name="confirm"class="form-control flat" placeholder="密码确认" onblur="equalcheck()">
</div>
<script>
function equalcheck() {
var p = document.getElementById('password'), c = document.getElementById('confirm');
if (p.value != c.value) {
alert("once again");
return false;
}
}
</script>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。