javascript focus() 不起作用,也不设置字段值

标签 javascript lotus-domino

Notes Domino Web 表单,验证 onblur 字段中输入的内容。字段设置为数字,但如果它不是数字,我想立即捕获输入的内容。然后我想清除输入的内容并将焦点放回该字段。我让代码运行,警报正确出现,但焦点没有发生,值也没有被删除。

function checkNumeric(fld, nm) {
    debugger;
      var x;
      x = document.getElementById(fld).value;
      // If x is Not a Number or less than one or greater than 10
      if (isNaN(x)) {       
        document.getElementById(fld).value = '';
        alert("Non-numeric entry of '" + x + "' in : " + nm +", please try again.");
        document.getElementById(fld).focus();
      }       
    }

最佳答案

还要确保调用此事件的事件处理程序已设置为防止默认。否则,可能是该元素获得焦点,但随后被事件处理程序立即删除。

            function checkNumeric(fld, nm) {
            //debugger;
            var x;
            if (typeof fld !== "string") {
                alert("fld is not a string");
            }
            if (typeof nm !== "string") {
                alert("nm is not a string");
            }

            var elm = document.getElementById(fld);
            if (elm) {
                x = elm.value;
                if (isNaN(x)) {
                    elm.value = '';
                    alert("Non-numeric entry of '" + x + "' in : " + nm + ", please try again.");
                    elm.focus();
                }
            }
        }

关于javascript focus() 不起作用,也不设置字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58997137/

相关文章:

javascript - 如何检测 javascript 中的偏好颜色方案更改?

javascript - 使用 javascript 获取复选框数量

java - 如何控制Domino NotesFactory.createSessionWithIOR中的超时?

JavaAgent“java.lang.NoClassDefFoundError : de. bea.domingo.DNotesFactory

java - 在 Lotus Notes 中运行 Java 代理

java - 多线程 Java 代理

javascript - 使用 XPage 将选定文档保存为响应文档

javascript - Javascript 异步函数和 Web worker 之间的区别?

javascript - $( elem ).attr ("checked") 给出相反的结果

javascript - 显示信息框