Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 尝试计算项目的总价格,并将所选数量考虑在内_Javascript_Html_Forms - Fatal编程技术网

Javascript 尝试计算项目的总价格,并将所选数量考虑在内

Javascript 尝试计算项目的总价格,并将所选数量考虑在内,javascript,html,forms,Javascript,Html,Forms,这是我第一次在这个网站上发帖。我有一个网页,概述了我的一个产品,我打算出售 这是我的困境。我有一个代码,它要求用户按+和-按钮来获取他们想要的物品数量。现在我想弄清楚的是,如果用户按+或-任意次数,我需要能够考虑点击次数,并在单独一行计算订单的总价格。我是javascript新手,非常感谢您的帮助,谢谢 <form> <br> Item Price: $463.50 <br> Please Select Quantity <input

这是我第一次在这个网站上发帖。我有一个网页,概述了我的一个产品,我打算出售

这是我的困境。我有一个代码,它要求用户按+和-按钮来获取他们想要的物品数量。现在我想弄清楚的是,如果用户按+或-任意次数,我需要能够考虑点击次数,并在单独一行计算订单的总价格。我是javascript新手,非常感谢您的帮助,谢谢

 <form>
   <br> Item Price: $463.50
   <br> Please Select Quantity
   <input type='button' name='subtract' onclick='javascript:   document.getElementById("qty").value--;' value='-'/>
   <input type='button' name='add' onclick='javascript: document.getElementById("qty").value++;' value='+'/>
   <input type='text' name='qty' id='qty' />
   </form>


物品价格:$463.50
请选择数量
我会将Javascript代码分离到它自己的元素中,并执行如下操作:

<form>
   <br/> Item Price: $<span id="price">463.50</span>
   <br/> Please Select Quantity
   <input type="button" name="subtract" id="subtract" value="-"></input>
   <input type="button" name="add" id="add" value="+"></input>
   <input type="text" name="qty" id="qty" value="0"></input>
   <br/> Total 
   <input type="text" name="total" id="total" value="0"></input>
</form>
你可以

没有jQuery,这一切都是可以做到的,但它让生活变得更加轻松

既然你提到你是新手,有一句话要提醒你:在真正的应用程序中,只使用页面上的数量,然后重新计算在后端向他们收取多少费用。对某人来说,修改DOM中的价格或总额是非常容易的;如果您要使用DOM中的价格或总价,那么恶意用户可以以他们想要的任何价格购买它!始终假定输入是恶意的或不正确的。


<form>
<br> Item Price: $<span id='price'>463.50</span>


    var unitprice = (document.getElementById('price').innerText || document.getElementById('price').textContent);
    var price = parseFloat(unitprice);
    var count = parseInt(document.getElementById("qty").value, 10)
    var total = price * count;
    alert(total); // or do whatever you want

物品价格:$463.50 var unitprice=(document.getElementById('price').innerText | | document.getElementById('price').textContent); var价格=浮动(单价); var count=parseInt(document.getElementById(“数量”)值,10) var总额=价格*数量; 警报(总数);//或者你想做什么就做什么
onclick中的javascript:label是不必要的。解除绑定有什么用还添加
$(function(){…})为可怜的noobHah,抱歉。旧习惯。有一次,我顺便参加了一个项目,那是一个一团糟的项目。我养成了这样的习惯:即使有人愚蠢地多次调用初始化,我的代码也能正常工作。好吧,为您解决了:)这不是一个真正的问题,但可能会让noob感到困惑。
$(function() {

   var price = parseFloat($('#price').text());

   $('#subtract').on("click",function() {
       var $qty = $('#qty');
       var current = parseInt($qty.val());
       if ( current > 0 ) {
           $qty.val(current-1);
           $('#total').val(price*(current-1));
       } else {
           $('#total').val(0);
       }
   });

   $('#add').on("click",function() {
       var $qty = $('#qty');
       var current = parseInt($qty.val());
       $qty.val(current+1);
       $('#total').val(price*(current+1));
   });

});
<form>
<br> Item Price: $<span id='price'>463.50</span>


    var unitprice = (document.getElementById('price').innerText || document.getElementById('price').textContent);
    var price = parseFloat(unitprice);
    var count = parseInt(document.getElementById("qty").value, 10)
    var total = price * count;
    alert(total); // or do whatever you want