提问者:小点点

在ASP.NET中单击按钮时调用JavaScript函数


我正在使用ASP.NET和JavaScript创建一个计算器。当用户单击按钮时,现在正试图使它对按钮7起作用,它会调用一个javascript函数,以查看用户是否单击了clear按钮、back space按钮,或者他们是否单击了number按钮。如果它是一个数字按钮,则该函数将把数字添加到文本框中。例如,如果用户点击7然后点击8,然后点击*,然后点击1,文本框将显示:78*1。我无法使javascript函数工作。我目前只是试图获得它,所以当按钮7被点击,它将7添加到文本框。下面是我的代码:

   <script>
   var maxInputLength = 20;

  function checkButtonClick(clickedValue)
  {
      var buttonValue = clickedValue.value;
      var inputStr = document.getElementById('inputBox').value;

      if (buttonValue == 'C')
      {
          document.getElementById('inputBox').value = "";
      }
      else
      {
          if (inputStr.length < maxLength)
          {
              var num = 6;
              document.getElementById('inputBox').value = inputStr + buttonValue + num;
          }
          else
          {
              //document.getElementById('msg').innerHTML = "Maxmum length is " + maxInputLength;
          }
      }
      return false;
  }
  document.getElementById('inputBox').readOnly = true;
  </script>
  </head>

  <body>
     <form id="form1" runat="server">
      <div>
        <div id="main" class="main">
          <div id="content" class="content">
            <h3 id="h3">Simple Calculator</h3>
                <div id="calculatorDiv">
                    <table cellpadding="0" cellspacing="0">
                    <tr>
                        <td colspan="4">
                           <asp:TextBox runat="server" CssClass="inputBox" disabled="disabled" ID="inputBox"></asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        <td colspan="4">
                            <br />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <asp:Button ID="ButtonNum7" runat="server" Text="7" CssClass="CalcButtons" OnClientClick="return checkButtonClick(7)" />
                        </td>

共1个答案

匿名用户

好的,所以我开始写很多评论,我想我会在一个答案中总结一下。

你的代码里有几件事我听不懂。您的maxLengtleng未定义。此外,您应该直接从函数中取值,而不是使用.value,如下所示:

function checkButtonClick(clickedValue)
{
      var buttonValue = clickedValue;
      // rest of code
}

请参阅小提琴演示这里的演示。