在使用onblur进行输入评估时,是否可以获得单击对象的元素id
Is it possible to get the element id of the object clicked when using onblur for input evaluation?
我使用onblur来验证表单输入,但这会迫使用户输入一些内容以转义字段。如果他们打算坚持下去,那没关系,但如果他们需要重新开始或取消,这会阻止他们重新设置表格。理论上,我想要一个简单的if语句来确定点击的输入是否是重置/取消按钮,但我无法判断在使用onblur时onclick是否注册——它似乎将焦点保持在最后一个字段上。
如果需要的话,我会使用jQuery,但我认为应该有一个简单的JS解决方案,我无法从内存的垃圾压缩程序中提取。
这是代码:
function checkRequiredEntry(fieldValue,fieldId,error) {
var field = fieldId;
if (fieldValue.length == 0) {
alert(error);
field.value = "";
field.focus();
error = "";
return false;
}
if (fieldValue.length > 0) {
if (field.id == "zip" || field.id == "phone") {
checkNumberFormat(fieldValue,fieldId);
}
if (field.id == "email") {
checkEmailFormat(fieldValue,fieldId);
}
}
}
以及html:的示例
<textarea rows="5" cols="61" name="message" id="message" onblur="return checkRequiredEntry(this.value,document.getElementById('message'),'A brief comment or question is required to validate your form submission. Thank you.');" style="padding:0;"></textarea>
我建议在模糊后100毫秒进行验证检查,如果要运行以下内容,将检查标志:
<input ... onblur="validate()">
<button onclick="resetInput()"></button>
var flag = true;
function validate() {
setTimeout(function() {
if (flag) { // do validation or anything}
}, 100);
}
function resetInput() {
flag = false;
//do what you want to do
setTimeout(function() {
flag=true;
}, 200);
}
相关文章:
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- 我想在单击对象时打印日志
- 单击以将相机放置在Three js中的对象附近
- 通过单击事件识别画布上的对象
- 用鼠标单击对象,使画布对象消失
- .on(“单击”,..)不处理使用相同的单击功能创建的对象
- 捕捉.svg — 单击其中一个元素时删除对象
- 如何根据单击访问相应对象的值
- 如何确定使用 javascript/html 单击了哪个对象/图像
- 鼠标单击对象统一 5.3 UI
- 在使用onblur进行输入评估时,是否可以获得单击对象的元素id
- 通过单击对象而不是下拉菜单来更改颜色
- 如何根据单击对象的id调整变量
- 如何使用Javascript在单击对象时播放媒体
- "OnClick”;通过JavaScript创建的事件会立即触发,而不是在单击对象时触发
- 我如何添加一个标签/标签出现在几个对象的顶部,以便当用户单击对象时,标签始终面向相机
- 鼠标单击对象数组javascript画布
- 在单击事件中,我试图根据单击对象's attr()值从XML中获取数据
- 单击对象内部的区域时如何执行函数
- 添加跟踪事件和单击对象的事件侦听器