【发布时间】:2015-07-26 19:59:40
【问题描述】:
我是 Web 开发的新手,我正在尝试使用 javascript/jquery 创建一个简单的表单验证。
我起草了一个与我所拥有的非常相似的简单表格,如下所示:
<form>
<input class="price" type="text" />
<br />
<input class="price" type="text" />
<br />
<input class="price" type="text" />
<br />
<input class="price" type="text" />
<br />
<button type="submit" onclick='return validateSubmit();'>Save</button>
</form>
我想要发生的是当用户单击提交按钮时,它会在允许提交之前检查每个输入框是否包含有效数字(价格),如果一个或多个输入框无效,它将突出显示警告错误“突出显示的文本框上的无效输入”或类似的东西。经过几次搜索,这就是我的脚本中的内容:
var validateSubmit = function () {
var inputs = $('.price');
var errors = 'False';
for (var i = 0; i < inputs.length; i++) {
if (isNaN(inputs[i].value)) {
$('.price')[i].focus();
}
errors = 'True';
}
if (errors == 'True') {
alert('Errors are highlighted!');
return false;
}
return true;
};
我知道我所做的有什么问题,但我不知道如何解决它。
我知道我们一次只能 focus() 1 个元素,但我想产生一些效果,它会突出显示带有无效字符的输入框。
请告诉我该怎么做,或者如果有更好的方法,你能给我一些例子。我看到 bootstrap 有一些针对这个焦点的 css 效果,但我不知道如何实现它。谢谢!
【问题讨论】:
-
也许你应该尝试一些简单的 JavaScript 表单验证库,例如 validate.js 或类似的东西。
标签: javascript jquery forms validation