请教一个自定义公式的解析方法

siaosa 2016-04-15 03:45:12
例如
id1,id2,id3,i4,a5,.....之类的全是input的ID名
输入 =id1+id2*id3-4 那么计算出 id1.value+id2.value*id3.value-4 的值
输入 =(a5+3)*2-i4 那么计算出 (a5.value+3)*2-i4.value的值
类似这样的自定义公式,有什么好办法没有实际自动计算出公式的值没有?
...全文
85 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2016-04-15
  • 打赏
  • 举报
回复
改成函数,使用点
<input type=text id=id1 value=1 onpropertychange=foo()><br>
<input type=text id=id2 value=2 onpropertychange=foo()><br>
<input type=text id=id3 value=3 onpropertychange=foo()><br>
<input type=text id=input value='=id1+id2*id3-4' onpropertychange=foo()><br>
<input type=text id=output><br>
<script>
function foo() {
  inp = document.getElementById('input').value;
  inp.replace(/[a-z]\w+/g, function(k) {
    window[k] = parseInt(document.getElementById(k).value);
    return '';
  });
  eval('r' + inp)
  document.getElementById('output').value = r;
}
</script>
xuzuning 2016-04-15
  • 打赏
  • 举报
回复
<input type=text id=id1 value=1><br>
<input type=text id=id2 value=2><br>
<input type=text id=id3 value=3><br>
<input type=text id=input value='=id1+id2*id3-4'><br>
<input type=text id=output><br>
<script>
inp = document.getElementById('input').value;
inp.replace(/[a-z]\w+/g, function(k) {
window[k] = parseInt(document.getElementById(k).value);
return '';
});
eval('r' + inp)
document.getElementById('output').value = r;
</script>
siaosa 2016-04-15
  • 打赏
  • 举报
回复
要是能判断出公式中,哪些是ID的名字就好办了。

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧