求一个类似商城详细页面的点击数量加减一的代码
类似淘宝商品详细页面选择数量的代码,就是点击一个按钮文本框中的数量就加一,点击另一个按钮文本框中的数量就减一
我自己写了个,但在ASPX下不起作用。哪位大哥知道啊?
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script language="javascript">
function add() {
var obj = document.getElementById("tx1");
obj.value = parseInt(obj.value) + 1;
}
function remove() {
var obj = document.getElementById("tx1");
if(obj.value == 0) {
return;
}
obj.value = parseInt(obj.value) - 1;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="text" value="1" id="tx1">
<input type="button" value="add" id="add" onclick="add()">
<input type="button" value="remove" id="remove" onclick="remove()">
</div>
</form>
</body>
</html>
------解决方案--------------------
那为什么aspx就起作用了呢?你看看浏览器源代码里面的代码跟你现在生成的一样吗?
你要搞不懂,就贴你的全部代码。/
------解决方案--------------------
应该是因为你的input标签名与onclick中的函数名相同造成的问题
html的每个元素都会在dom中建里一个相应的对象。name属性就是这个对象的唯一标识,<input>是这样。<script>也是这样,script中的每个方法或过程的方法名就相当于它的name属性。你在<input>的onclick方法中指定了要调用的对象名,于是dom在它内部寻找,按顺序首先找到了input本身,但是input本身不是一个onclick方法函数,所以就出现错误了。
你原来的代码是这样的:
C# code
<input type="button" value="add" id="add" onclick="add()">
<input type="button" value="remove" id="remove" onclick="remove()">