对于某个字段,我对onChange()事件进行了验证。当我更改字段并单击“提交”按钮时。 onChange()事件是否检查验证。
就我而言,它不是在检查。
请提供任何帮助或建议
<textarea id='abc' name='abc' onChange="checkvalidation('abc','true')>ddd</textarea>
function checkvalidation(field, numericOrNot){
var Value = '#' + field;
var fieldval = $(field).val();
if(numericOrNot) {
if(isNaN(fieldval)) {
alert("not a number");
return false;
}
}
return true;
}
答案 0 :(得分:1)
当您更改表单字段的值并从该字段中删除焦点时,应触发onChange事件。它应该在您单击提交按钮之前触发。
但是,您在html中的)
之后错过了结束语。
<textarea id='abc' name='abc' onChange="checkvalidation('abc','true')">ddd</textarea>
//-------------------------------------------------------------------^
以下是更改代码的方法,以便它使用data-
属性来确定数据类型。
Html
<textarea id='abc' name='abc' data-type="number">ddd</textarea>
jQuery代码
$("#abc").change(function() {
var $this = $(this);
if($this.data("type") == "number") {
if(isNaN($this.val())) {
alert("not a number");
}
}
});
提交表单时如何运行此代码的示例
$("form").submit(function(e) {
var $this = $("#abc");
if($this.data("type") == "number") {
if(isNaN($this.val())) {
alert("not a number");
e.preventDefault();
}
}
});