在焦点上的相应文本框上输入按钮值

时间:2017-07-10 12:36:50

标签: javascript ajax

我正在尝试创建一个触摸屏计算器,例如按钮值将放置在文本框上,然后我通过单击将其设置在焦点上但它出现在所有文本框上。我试图使用代码

if ($(impo).is(":focus")) {

但它不起作用。请参阅我的代码段 提前谢谢!

var impo = document.getElementById("imp_text");
var tess = document.getElementById("tess_text");

var FKeyPad = document.Keypad;
var Accumulate = 0;
var FlagNewNum = false;
var PendingOp = "";

document.getElementById('tess').onclick = function() {
  document.getElementById('tess_text').focus();
}

document.getElementById('imp').onclick = function() {
  document.getElementById('imp_text').focus();
}

function NumPressed(Num) {

  if (impo) {
    if (FlagNewNum) {
      FKeyPad.ReadOut.value = Num;
      FlagNewNum = false;
    } else {
      if (FKeyPad.ReadOut.value == " ")
        FKeyPad.ReadOut.value = Num;
      else
        FKeyPad.ReadOut.value += Num;
    }
  }


  if (tess) {
    if (FlagNewNum) {
      FKeyPad.readtess.value = Num;
      FlagNewNum = false;
    } else {
      if (FKeyPad.readtess.value == " ")
        FKeyPad.readtess.value = Num;
      else
        FKeyPad.readtess.value += Num;
    }
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<html lang="en">
    <head>
    </head>
    <body>

      <form name="Keypad" action="">

        <input type="button"  value="Imp" id="imp" /> Importo :
        <input name="ReadOut" id="imp_text" type="Text" value=" "> <br>
        <input type="button" value="Tes" id="tess" /> Card Tess : 
        <input name="readtess" id="tess_text" type="Text" value=" ">
        <br>

        <input type="button" value=" 1" onclick="NumPressed(1)" />
        <input type="button" value=" 2" onclick="NumPressed(2)" />
        <input type="button" value=" 3" onclick="NumPressed(3)" /> <br>

      </form>
    </body>
</html>

1 个答案:

答案 0 :(得分:1)

Route::get('/calendar', function () { return view('calendar'); }); Route::resource('events', 'EventsController', ['only' => ['index', 'store', 'update', 'destroy']]); if (impo)只测试元素是否存在,它们是否存在,因此值会被写入它们,因为它们都存在。在桌面环境中,您无法执行您要求的操作 - 您可以为文本框提供焦点,但是一旦用户单击其中一个按钮以选择该数字,文本框就不再具有焦点(因为按钮有它)。

您需要一种单独的方法来维护当前选择的文本框,如下面的代码段。它将更新当前&#34;所选&#34;单击Imp / Tes按钮时,以及任何一个文本框获得焦点时(例如通过鼠标单击或触摸)。

&#13;
&#13;
if (tess)
&#13;
var impo = document.getElementById("imp_text");
var tess = document.getElementById("tess_text");
var current_input = impo;

impo.onfocus = function() {
  current_input = impo;
}
tess.onfocus = function() {
  current_input = tess;
}

document.getElementById('tess').onclick = function() {
  current_input = tess;
  tess.focus();
}

document.getElementById('imp').onclick = function() {
  current_input = impo;
  impo.focus();
}

function NumPressed(Num) {
  current_input.value += Num;
}
&#13;
&#13;
&#13;