Javascript onfocusout 未捕获类型错误

问题描述 投票:0回答:1

我有一个页面,我想强制用户在文本框中输入某些预定义的值,如果他没有输入这些选定的值,焦点将移回该文本框,直到用户选择其中一个值。我的代码看起来像这样

function onloadfunction() {
  alert("On Load!");
  var sourcDealerId = document.getElementById("dsatext");
  sourcDealerId.focus();
}

function getFocusBack() {
  alert("Welcome Back Focus!");
  var sourcDealerId = document.getElementById("dsatext");
  if ((sourcDealerId.value != "DEALER") || (sourcDealerId.value != "MARKET")) {
    alert("Text Box Values::" + sourcDealerId.value)
    alert("Valid Values are DEALER OR MARKET only")
    sourcDealerId = "";
    sourcDealerId.focus();
  }
}
<input type="text" id="dsatext" onfocusout="getFocusBack()" />
<input type="text" id="othertext" />

但是,当我运行此代码时,我遇到以下错误

  1. 即使我输入 DEALER 或 MARKET 等值,它仍然会提醒消息 Valid Values are DEALER OR MARKET only
  2. 当我输入错误的值时,Fcous 不会转移到第一个文本框
  3. 我收到消息 Uncaught TypeError: sourcDealerId.focus is not a function in console 。它涉及 getFocusBack() 函数内的代码行
javascript html internet-explorer onfocusout
1个回答
0
投票
sourcDealerId = "";
sourcDealerId.focus();

我收到消息 Uncaught TypeError

嗯,是的。 您将

sourcDealerId
设置为字符串,而字符串没有
focus
方法。

© www.soinside.com 2019 - 2024. All rights reserved.