function judge(id,pwd){
if(id.value==null)
{
document.getElementById("tip").innerHTML="请输入账号";
}
else
{
document.getElementById("tip").innerHTML="请输入密码";
}
}
以上是函数部分。
<form action="" method="post" name="register">
<input type="text" id="id" placeholder="请输入账号" class="form-control" style="margin-bottom: 5%;">
<input type="password" id="pwd" placeholder="请输入密码" class="form-control" style="margin-top: 5%; margin-bottom: 3%;">
<span class="tip" id="tip"></span>
<!--以下为修改代码-->
<button class="button" onclick="judge(id,pwd)">登录</button>
</form>
为什么效果同2?id名也能引用一个对象?
Q4:
<form action="" method="post" name="register">
<!--将id改为name-->
<input type="text" name="id" placeholder="请输入账号" class="form-control" style="margin-bottom: 5%;">
<input type="password" name="pwd" placeholder="请输入密码" class="form-control" style="margin-top: 5%; margin-bottom: 3%;">
<span class="tip" id="tip"></span>
<button class="button" onclick="judge(id,pwd)">登录</button>
</form>
为什么效果同上?难道name也能引用一个对象?
请各位前辈指教,谢谢!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
很好奇,你的judge函数里根本就没有 pwd,为何参数要传他。
产生问题的原因和 name id 没有太大的关系。
首先,这些东西都写在了form表单里面,这里action填写的是指的是提交到当前页。
Q1 登录按钮式一个 submit ,点击登录按钮的时候,执行的是表单的 submit 事件,也就是直接提交表单数据了,不会执行 onclick事件,页面刷新。
Q2 点击button的时候,执行了 onclick事件,同时也执行了 表单的 submit事件,前者改变效果,后者提交自然刷新页面,也就是出现一闪而过的样子。
Q3 id 直接引用,有时候可以,不常用,或者不轻易用,而且浏览器不知道有没有兼容性,我测试的时可以用。对于这些怪异的现象,不用太理会,按照标准来。
Q4 name 一般式留给提交表单之后的后台程序引用的。
其次,尽量不要把 js 代码 写在 html 里面,分离结构 样式 行为。这种html里面的 onclick 写法尽量少用