验证javascript中的输入没有'不起作用
Validating Input in javascript didn't work
为什么这个简单的javascript代码没有正确运行http://codepen.io/anon/pen/wBXKQYhtml
<form id="scoreForm" name="scoreForm" onsubmit="validateForm();">
<label for="score">Score:</label>
<input id="score" name="score" />
<input type="submit" value="submit" />
</form>
js
function validateForm() {
var score = document.getElementById("score").value;
var scoreReg = /^'s*('+|-)?'d+'s*$/;
if (score.match(scoreReg))
{ alert("the score pass"); return false; }
}
我只需要执行HTML5输入属性功能之外的验证。
试试这个:
onsubmit="return validateForm();"
而不是
onsubmit="validateForm();"
演示
<form id="scoreForm" name="scoreForm">
<label for="score">Score:</label>
<input id="score" name="score" />
<input type="submit" value="submit" />
</form>
<script>
document.getElementById('scoreForm').addEventListener('submit', validateForm);
function validateForm(ev) {
var scoreVal = +document.getElementById('score').value;
if (scoreVal < 10) {
alert('Sorry your score is too low!');
ev.preventDefault();
}
}
</script>
笔:http://codepen.io/ferahl/pen/GgGpLd
注:
最好不要真的对任何事情使用ID,使用类,用document.querySelector
或document.querySelectorAll
查询它们。
你在那里看到的+
转换成一个数字(缩写)
最好使用"不引人注目"的javascript-我使用addEventListener
在JS中添加事件处理程序
preventDefault
停止表单提交。还有另一个有用的函数stopPropagation
,您可以研究它。Return false同时执行这两个操作-最好知道要执行哪一个或同时执行这两者。
在此调用validateForm()方法
<input type="submit" value="submit" onclick="validateForm();"/>
代码笔中存在一些错误
你可以在w3schools尝试http://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_ev_onsubmit
相关文章:
- 为什么这个 .push 不起作用?(JavaScript)
- document.createelement不起作用(javascript)
- Chrome 中表格的 CSV 导出不起作用 - JavaScript/AngularJS
- 如果语句不起作用 - JavaScript
- 为什么我的动态更改链接不起作用?(Javascript)
- RPS 函数不起作用(JavaScript)
- 计时器间隔不起作用 Javascript
- 通过返回 false - 不起作用(javascript)来阻止链接打开
- Eval 不起作用 - JavaScript
- Android 浏览器 .click() 不起作用 javascript
- 为什么这段代码不起作用?Javascript
- jsFiddle显示正确,但一旦在本地运行就不起作用(Javascript)
- 带有html的Navigator不起作用javascript
- 从文本文件中提取内容不起作用 JavaScript
- 从查询字符串中获取参数;不起作用..Javascript
- regex手机验证不起作用-javascript
- if和else语句不起作用(javascript)(html)
- 更改字体大小的复选框不起作用-Javascript
- 为什么这个基本的 if 语句不起作用?JavaScript
- Timer 不起作用/ JavaScript/ innerHTML null