我正在使用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>
好的,所以我开始写很多评论,我想我会在一个答案中总结一下。
你的代码里有几件事我听不懂。您的maxLengtleng
未定义。此外,您应该直接从函数中取值,而不是使用.value
,如下所示:
function checkButtonClick(clickedValue)
{
var buttonValue = clickedValue;
// rest of code
}
请参阅小提琴演示这里的演示。