VAlue未应用于使用Jquery代码的输入

VAlue not apply on input using Jquery code

本文关键字:代码 输入 Jquery 应用于 VAlue      更新时间:2024-02-27

我正在尝试使用applyValue函数应用图像映射的值。控制台上没有显示任何错误,但该值没有应用于输入。

当我调试JS文件时,值传递正确,

<script type="text/javascript"
    src="/web/static/js/jquery-1.10.2.min.js"></script>
<script src="web/static/js/keypadControl.js" type="text/javascript"></script>
<div id="keypadDiv" style="position:absolute; top:80px; left:575px; z-index:3;">
  <img src="web/static/media/images/keypad.jpg" width="413" height="608" usemap="#keypad" border="0">
  <map name="keypad" id="keypad">
    <area shape="rect" coords="20,25,140,166" onclick="applyValue('1', 'false');" />
    <area shape="rect" coords="145,25,265,166" onclick="applyValue('2', 'false');" />
    <area shape="rect" coords="270,25,390,166" onclick="applyValue('3', 'false');" />
    <area shape="rect" coords="20,166,140,303" onclick="applyValue('4', 'false');" />
    <area shape="rect" coords="145,166,265,303" onclick="applyValue('5', 'false');" />
    <area shape="rect" coords="270,166,390,303" onclick="applyValue('6', 'false');" />
    <area shape="rect" coords="20,302,140,443" onclick="applyValue('7', 'false');" />
    <area shape="rect" coords="145,302,265,443" onclick="applyValue('8', 'false');" />
    <area shape="rect" coords="270,302,390,443" onclick="applyValue('9', 'false');" />
    <area shape="rect" coords="145,442,265,587" onclick=" applyValue('0', 'false');" />
    <area shape="rect" coords="20,442,140,587" onclick="applyValue('backspace', 'false');" />
    <area shape="rect" coords="270,442,390,587" onclick="applyValue('clear', 'false');" />
  </map>
</div>

JS文件:keypadControl.js

function applyValue(value, phoneNum)
{
var currField = $('#number')
var valueOfInput = currField.val();
  if (value == "backspace") {
    if (isNaN(valueOfInput.charAt(valueOfInput.length - 1))) {
      valueOfInput = valueOfInput.substring(0, valueOfInput.length - 2);
    }
    else {
      valueOfInput = valueOfInput.substring(0, valueOfInput.length - 1);
    }
  } else if (value == "clear") {
    valueOfInput = "";
  } else {
    if (phoneNum == "true") {
        var length = valueOfInput.length;
      if (length < 13) {
        switch (length) {
          case 0: 
            valueOfInput = "(" + value;
            break;
          case 3:
            valueOfInput += value + ")" ;
            break;
          case 7:
            valueOfInput += value + "-" ;
            break;
          default:
            valueOfInput += value;
            break;
        }     
      } 
    }
    else {
        valueOfInput += value;
    }
  }
}

我要将值应用到的字段。

<input id="number" name="number" type="text" class="numClass" />

。。.

函数需要将输入设置为最后计算的值。

function applyValue(value, phoneNum)
{
var currField = $('#number')
var valueOfInput = currField.val();
  if (value == "backspace") {
    if (isNaN(valueOfInput.charAt(valueOfInput.length - 1))) {
      valueOfInput = valueOfInput.substring(0, valueOfInput.length - 2);
    }
    else {
      valueOfInput = valueOfInput.substring(0, valueOfInput.length - 1);
    }
  } else if (value == "clear") {
    valueOfInput = "";
  } else {
    if (phoneNum == "true") {
        var length = valueOfInput.length;
      if (length < 13) {
        switch (length) {
          case 0: 
            valueOfInput = "(" + value;
            break;
          case 3:
            valueOfInput += value + ")" ;
            break;
          case 7:
            valueOfInput += value + "-" ;
            break;
          default:
            valueOfInput += value;
            break;
        }     
      } 
    }
    else {
        valueOfInput += value;
    }
  }
  currField.val(valueOfInput);
}