javascript计算器显示文本框
javascript calculator display text box
为什么我的脚本不能工作?我觉得这个问题可能和浏览器有关。它在chrome或IE中不起作用。
我的代码在下面。我已经做了一段时间了,我不明白为什么它不起作用。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso- 8859-1">
<title>Untitled Document</title>
<link rel="stylesheet" href="calc.css">
<script type="text/javascript" >//src="calc.js">
function displayVal(val){
//document.getElementById("disp").value=val;
$(document).ready(function(){
$('b').onclick(function(){
$('display').value=val;
});
});
}
</script>
</head>
<body>
<form name="myDocument" id="myForm">
<input type="text" name="display" id="display" value=""/>
<input type="button" name="buttons" value="1" />
<input type="button" name="buttons" value="2" />
<input type="button" name="buttons" value="3" /></br>
<input type="button" name="buttons" value="+" />
<input type="button" name="buttons" value="=" />
</form>
</body>
</html>
我可以看到的主要原因当然是,您没有添加jQuery:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
最后你称之为:
$('b').onclick(function() { ... });
根本没有<b>
元素。
这是完全错误的:
$('display').value=val;
应该是:
$("#display").val(val);
不仅仅是上面的错误,除了上面的错误之外,还有很多错误。
- 没有
<b>
元素可以调用它 - 所有的
<input />
都有相同的名字,我不明白这作为一个"计算器"有什么帮助 - 没有与按钮关联的
click
事件 - 您不需要
displayVal()
函数 - jQuery的
$.click
函数,而不是onclick
总之,您提供的HTML只是一个图像,毫无价值。这将是一个更好的替代方案。
<html>
<head>
<script src="https://code.jquery.com/jquery-1.9.1.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Calci</title>
<script type="text/javascript">
$(document).ready(function (){
var oldVal = 0;
var op = "";
// n - number
// o - operation
$('.n').click(function () {
$('#display').val($('#display').val() + $(this).val());
});
$(".o").click(function () {
if ($(this).val() == "+") {
if (op == "+")
oldVal = parseInt(oldVal) + parseInt($('#display').val());
else
oldVal = parseInt($('#display').val());
$('#display').val("");
op = "+";
} else {
if (op == "+")
oldVal = parseInt(oldVal) + parseInt($('#display').val());
else
oldVal = parseInt($('#display').val());
$('#display').val(oldVal);
}
});
});
</script>
</head>
<body>
<form name="myDocument" id="myForm">
<input type="text" name="display" id="display" value="" /><br />
<input type="button" class="n" value="1" />
<input type="button" class="n" value="2" />
<input type="button" class="n" value="3" /><br />
<input type="button" class="o" value="+" />
<input type="button" class="o" value="=" />
</form>
</body>
</html>
代码段
$(document).ready(function (){
var oldVal = 0;
var op = "";
// n - number
// o - operation
$('.n').click(function () {
$('#display').val($('#display').val() + $(this).val());
});
$(".o").click(function () {
if ($(this).val() == "+") {
if (op == "+")
oldVal = parseInt(oldVal) + parseInt($('#display').val());
else
oldVal = parseInt($('#display').val());
$('#display').val("");
op = "+";
} else {
if (op == "+")
oldVal = parseInt(oldVal) + parseInt($('#display').val());
else
oldVal = parseInt($('#display').val());
$('#display').val(oldVal);
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<form name="myDocument" id="myForm">
<input type="text" name="display" id="display" value="" /><br />
<input type="button" class="n" value="1" />
<input type="button" class="n" value="2" />
<input type="button" class="n" value="3" /><br />
<input type="button" class="o" value="+" />
<input type="button" class="o" value="=" />
</form>
Fiddle:http://output.jsbin.com/popavosezi
$(function() {
$(document).ready(function() {
var x = '';
$('[name="buttons"]').click(function() {
//console.log($('[name="buttons"]').val());
x += $(this).val();
$("#display").val(x);
});
});
});
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Calculator</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body>
<div>
<input type="text" name="display" id="display" value="" />
<input type="button" name="buttons" value="1" />
<input type="button" name="buttons" value="2" />
<input type="button" name="buttons" value="3" />
</br>
<input type="button" name="buttons" value="+" />
<input type="button" name="buttons" value="=" />
</div>
</body>
</html>
相关文章:
- 为什么在页面上单击的先前链接的文本显示在 AJAX 请求中
- JavaScript NaN错误,输入文本显示为NaN
- 关于socket.io实时文本显示的问题
- 如何使用javascript使文本显示在文本字段中
- 在它们之间切换时,jQuery 文本显示在活动文本下方
- 使用 ajax 乱码文本显示图像
- 带有文本显示js功能的图像映射 - 某些部分不显示
- 来自 Ajax 请求的文本显示不正确
- 如何使用 JavaScript 使文本显示
- 是否可以将元素内部的文本显示在 ::在 css 之前
- on更改文本框的文本显示在另一个文本框上
- 在文本显示在Scroll上之前在页面上隐藏文本的问题
- 使用带文本显示的Jquery切换文本
- 如何使文本显示速度变慢
- 如何将图片添加到点击计数器文本显示<图像><点击量>
- 文本显示有延迟
- 根据在另一个文本框中输入的文本显示文本框中的文本
- 如何从点击文本显示文件浏览器,并在悬停文本时将鼠标光标更改为指针
- 使文本显示为几行可点击的线条
- 如何使文本显示