当“<按钮>"单击
Form submits when "<button>" is clicked
我有一个账户创建表单。没有提交按钮,只有一个<button>
。现在,当单击按钮时,我有一个jQuery验证正在运行。验证正在运行,并显示相应的错误,但随后会提交表单并重新加载页面。尽管我没有提交按钮,也没有任何地方的jQuery submit()
功能。
HTML:
<form id="accountCreate" method="POST" action="<?=site_url('account/create')?>">
<h3>Create an Account</h3>
<ul>
<li><input type="text" name="email" placeholder="Email..." /></li>
<li><input type="password" name="password" placeholder="Password..." id="password" /></li>
<li><input type="password" placeholder="Verify Password..." id="verifyPassword" /></li>
<li><button id="button">Create</button></li>
</ul>
</form>
JS:
$(document).ready(function() {
$('#button').click(function() {
var password = $('input#password').val();
var passwordV = $('input#passwordVerify').val();
if (password.length >= 6 && password.length <= 24) {
if (password == passwordV) {
} else {
$('div#error').css('display', 'inline');
$('div#error span.errorMessage').text('hey');
}
} else {
alert('yo');
return false;
}
});
});
当未定义type
属性时,<button />
充当提交按钮
添加type="button"
以解决此问题。
<button id="button" type="button">Create</button>
http://www.w3.org/TR/html-markup/button.html#button
您需要为按钮指定默认的type=
属性,因为不同的浏览器可以使用不同的默认值。在您的情况下,浏览器似乎已默认为type="submit"
。
$(document).ready(function() {
$('#button').click(function() {
var password = $('input#password').val();
var passwordV = $('input#passwordVerify').val();
if (password.length >= 6 && password.length <= 24) {
if (password == passwordV) {
} else {
$('div#error').css('display', 'inline');
$('div#error span.errorMessage').text('hey');
}
} else {
alert('yo');
return false;
}
//Just add return false
return false;
});
});
您应该添加evt.preventDefault();
以使提交只做您想做的事情。
相关文章:
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 单击F5时如何停止页面加载
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 单击jquery清除输入值
- 单击按钮以等待单击按钮
- 在单击href链接的同时下载文件
- 单击顶部导航时如何进行向下滚动效果(向下滑动).
- 如何获得类似id的"invokedOn”;使用Bootstrap ContextMenu通过右键单击事件显示文
- 当“<按钮>"单击
- "阅读更多“;当同时单击按钮和正文时
- $(文档).(“click" . .如何在单击文档的其他位置时折叠列表
- "OnClick”;通过JavaScript创建的事件会立即触发,而不是在单击对象时触发
- 如何改变“;添加到购物车”"添加到愿望列表”&"将该产品“;单击时按钮边框颜色
- 删除值=";评论"只要从输入框中单击它
- jQuery IE 9在替换"tbody"时崩溃;值,单击其中的元素后
- CSS、HTML和Javascript:;正在加载"微调器不'无法使用单击上的链接
- 完成注册表格后,我如何显示警报'你完成了.单击"确定"登录'然后当用户单击"
- "悬停”;在jQuery插件函数中不起作用,鼠标悬停并单击即可