http://www.csdn.net/expert/topic/808/808918.xml?temp=.735058可以再讨论,但是你要说问题在哪里啊
解决方案 »
- 表单验证怎么判断输入的空格?
- JS IE6下不能自动运行
- 简单的jquery+css3 三级下拉菜单
- 动态创建下拉框的时候,怎么动态选中下拉框的内容啊?
- (急)简单问题,select下拉列表,如何选中自动提交form表单
- 100分求两道超级难javascritp的面试题
- 请问如何给下拉框加提示?
- 用javascript编BBS不知道可以遍吗?如果可以我应该做那些工作呢,因为我是新手,也刚刚学习javascript的,希望大家帮助我!
- 如何实现这样的菜单效果?
- 网站没备案,Node.js IP访问电信出现Unexpected token <
- 是否能获得元素的绝对位置?
- parseInt("07") ==7,parseInt("08")==0,parseInt("09").why???
function money(pay1){ //代入的变量 pay1 为数字型
if ((pay1 > 800)&&(pay1 < 1000))return(pay1 * 0.11);
if ((pay1 > 1000)&&(pay1 < 1500))return(pay1 * 0.12);
}
// --></script>
自己输入的,我并不知道他会输入怎样的计算公式,上面那个只是我假设用户的输入格式是那样的,用户也可能会输入
if(800<pay1<1200)pay9=pay1*0.10;if(1000<pay1<1200)pay9=pay1*0.11;if(1200<pay1<1500)pay9=pay1*0.12;或者是别的更多分类,
甚至也不一定是pay1表示基本工资,基本工资的代码也有可能是pay2或pay3等
所以问题应该在于你怎样去判断用户输入的内容,然后再计算,我觉得这个很难实现,但是我参考的那套系统可以实现,如果公式是死的,那当然是容易了
要不你分解表达式,让用户从select中选择,然后你合成表达式。
其实当中用倒的元素并不多,
数字,if , ( , ) , * , = ,变元 , < , > ,然后以;结束。应该好控制。
用户的输入是不可靠和难处理的,尽量减少吧。
<head>
<body>
请输入公式:<BR>
<input size=40 id="pay" value="(pay1+pay2)*pay3/(pay4-pay5)"><BR>
请输入计算项的值:<BR>
pay1:<input id=pay value=1><BR>
pay2:<input id=pay value=2><BR>
pay3:<input id=pay value=3><BR>
pay4:<input id=pay value=4><BR>
pay5:<input id=pay value=5><BR>
<BR>
<button onclick="cal()">开始计算</button>
结果:<input id="result">
<SCRIPT LANGUAGE="JavaScript">
<!--
function cal()
{
str = pay[0].value
for (var i=1;i<pay.length;i++)
str = str.replace( ("pay"+i) , pay[i].value )
result.value = eval(str)
}
//-->
</SCRIPT>
</body>
</html>你老这样不答理我,我以后也不答理你了。
<head>
<body>
请输入公式:<BR>
<input size=40 id="pay" value="(pay1+pay2)*pay3/(pay4-pay5)"><BR>
请输入计算项的值:<BR>
pay1:<input id=pay value=1><BR>
pay2:<input id=pay value=2><BR>
pay3:<input id=pay value=3><BR>
pay4:<input id=pay value=4><BR>
pay5:<input id=pay value=5><BR>
<BR>
<button onclick="cal()">开始计算</button>
结果:<input id="result">
<SCRIPT LANGUAGE="JavaScript">
<!--
function cal()
{
str = pay[0].value
for (var i=1;i<pay.length;i++)
str = str.replace( ("pay"+i) , pay[i].value )
result.value = eval(str)
}
//-->
</SCRIPT>
</body>
</html>你老这样不答理我,我以后也不答理你了。
我总不能让用户输入javascript 语言吧,你的方法我在其他工资项目中使用了,所以才给你100分了,
<head>
<body>
请输入公式:<BR>
<input size=100 id="pay" value="(pay1<pay2)?(pay1):((pay1<pay4)?(pay1-(pay1-pay2)*pay3):(pay1-(pay4-pay2)*pay3-(pay1-pay4)*pay5))"><BR>
请输入计算项的值:<BR>
应发工资:<input id=pay value=2000><BR>
扣税起点:<input id=pay value=800><BR>
基本税率:<input id=pay value=.01><BR>
分界点:<input id=pay value=1300><BR>
高税率:<input id=pay value=.02><BR>
<BR>
<button onclick="cal()">开始计算</button>
结果:<input id="result">
<SCRIPT LANGUAGE="JavaScript">
<!--
function cal()
{
str = pay[0].value
for (var i=1;i<pay.length;i++)
while (str.indexOf("pay"+i)>-1)
str = str.replace( ("pay"+i) , pay[i].value )
result.value = eval(str)
}
//-->
</SCRIPT>
</body>
</html>