这是我的js代码:
function onclike(){ var price=document.getElementById(price).value; var re = /^[0-9]+.?[0-9]*$/; var name=document.getElementById(name).value; if(name==""){ alert("请输入图书名称"); return false; } if(re.text(price)){ alert("请输入数字"); document.getElementById(price).value=null; return false; } }这是我的html代码:
添加图书 | |
图书名称: | |
价格: | |
我要在提交之前验证价格输入的是数字,若不是数字则清空文本框内容
我用js写了个函数 在form里面调用onsubmit没反应 在submit控件用onclike() 也没反应 各位大佬帮我看看是不是哪里写错了 或者有没有其他方法
这是html代码:
添加图书 | |
图书名称: | |
价格: | |
数量: | |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h3>添加图书</h3>
<div>
<span>图书名称:</span><input id="name" type="text">
</div>
<div>
<span>价格:</span><input id="price" type="text">
</div>
<button type="submit" onclick="onclike()">按钮</button>
<script>
function onclike(){
var price=document.getElementById('price').value;
var re = /^[0-9]+.?[0-9]*$/;
var name=document.getElementById('name').value;
if(name==""){ alert("请输入图书名称"); return false; }
if(re.text(price)){ alert("请输入数字"); document.getElementById(price).value=null; return false; }
}
</script>
</body>
</html>
代码如上,document.getElementById('name')传id名的时候要加引号
onclick()事件貌似是这么写。。。好像不是**onclike**()。。。
孩子,你单词写错了,onclick不是onclike
var ex = /^\d+$/;
if (ex.test(str)) {
// 则为整数
}
在submit控件用onclike() 也没反应----onclike写错了,是onclick
http://tool.oschina.net/regex#
参考这个。
为什么不用正则表达式
var ex = /^\d+$/;
if (ex.test(str)) {
// 则为整数
}
另外,捏onclick拼错了
var type="^[0-9]*[1-9][0-9]*$";
var r=new RegExp(type);
var flag=r.test(subjectHour.value);
if(!flag){
alert("课时应为正整数");
subjectHour.focus();
return false;
js:
var chk = function(){ return !isNaN(input) && input.indexOf('.')<0 ;};
var input = '123.2';
var input1 = '1232';
chk(input);
chk(input1);
这个方法应该很多,失去焦点后正则表达式,或者h5里patter属性内写正则,或者失去焦点后,做个parseInt,方法很多的