如果值是数字,则获得一个函数检查的表单字段。返回检查后,我需要另一个用于将属性值传递给字段的函数。
示例:
HTML:
<form method="post" action="">
<input type="text" name="txt" onblur="numChk(this.value);" maxlength="getMax();" />
<p id="fmsg"></p>
<input type="submit" name="sub" />
</form>
使用Javascript:
<script type="text/javascript">
function numChk (num){
//var num = num;
if(!isNaN(num)){
document.getElementById("fmsg").innerHTML = '<strong>' + num + ' is a number </strong>';
getMax(maxVal) = 14;
} else{
document.getElementById("fmsg").innerHTML = '<em>' + num + ' is not a number </em>';
getMax(maxVal) = 11;
}
}
function getMax(maxVal){
return maxVal;
}
</script>
希望能得到一些帮助。
答案 0 :(得分:0)
我会尝试这样做......
只需在没有参数的情况下调用HTML中的函数并添加ID:
<input type="text" name="txt" id="txt" onblur="numChk();" maxlength="getMax();" />
然后在你的函数中,获取输入字段的值:
function numChk (){
//var num = num;
var num = parseInt(document.getElementById("txt").value); //Get input field value
if(!isNaN(num)){
document.getElementById("fmsg").innerHTML = '<strong>' + num + ' is a number </strong>';
getMax(maxVal) = 14;
}else{
document.getElementById("fmsg").innerHTML = '<em>' + num + ' is not a number </em>';
getMax(maxVal) = 11;
}
}
答案 1 :(得分:0)
function isNumber(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
var inp = document.getElementById('myinput'),
output = document.getElementById("fmsg");
inp.onkeyup = function() {
var val = this.value;
if(isNumber(val)){
output.innerHTML = '<strong>' + val + ' is a number </strong>';
this.maxLength = 14;
}else{
output.innerHTML = '<em>' + val + ' is not a number </em>';
this.maxLength = 11;
}
};
注意:要检查字符串是否为数字,我使用https://stackoverflow.com/a/1830844/1529630