我在让我的 javascript 函数正常工作时遇到问题。发生的情况是它验证表单字段,如果不正确,将通过单独的 div 显示错误。
JavaScript:
function validatestr(id,max,min) {
var maximum = parseInt(max);
var minmum = parseInt(min);
var div = document.getElementById(id+'_error');
var x = document.getElementById(id);
div.innerHTML = '';
if (x.value == null || x.value == '') {
div.innerHTML = 'Value must not be null!';
}
if (x.length > maximum || x.length < minimum) {
div.innerHTML = 'Value must be between '+minimum+' and '+maximum+' chars!';
}
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<input type="text" class="textbox" id="varchar" name="varchar" onblur="validatestr('varchar',100,10)">
<div style="display:inline;color:#ff0000;font-weight:bold" id="varchar_error"></div>
Run Code Online (Sandbox Code Playgroud)
所发生的情况是,检查该值是否为 null 可以按预期工作,但检查该值的长度却无法正常工作。当我测试这个时发生的情况是字符串长度似乎是undefined. 谁能告诉我出了什么问题吗?干杯!
Wellx是一个输入元素,因此您需要使用x.value.lengthnot x.length。
if (x.value.length > maximum || x.value.length < minimum) {
Run Code Online (Sandbox Code Playgroud)
DOM 元素没有 length 属性,您需要值的 length 属性,因为 value 是字符串。
最小变量也有一个拼写错误。
| 归档时间: |
|
| 查看次数: |
4501 次 |
| 最近记录: |