gpt4 book ai didi

Javascript:数量变化时更新价格

转载 作者:行者123 更新时间:2023-12-03 01:58:17 25 4
gpt4 key购买 nike

我是 javascript 新手,我已经为此工作了 4 天,但没有取得任何进展。我尝试了很多不同的选择。我看到像我这样的例子有效......但它对我不起作用。 :( 我正在尝试随着门票数量的变化调整价格。下面是 javascript,下面是 html。非常感谢任何帮助!谢谢!

document.getElementById("totalTicketCost").value = 0 + "." + 00;

function ticketCost()


{

var ticketCost = 5.5;

var inputTicketQuantity = document.getElementById("inputTicketQuantity").value;

var totalTicketCost = parseFloat(ticketCost) * inputTicketQuantity;



if (!isNaN(totalTicketCost))





document.getElementById("totalTicketCost").innerHTML = totalTicketCost;



}

    <form onsubmit="" ="return alertDetails()" id="formPurchaseTickets" enctype="text/plain" method="post" action="mailto:cmst388@xyz.com">
<h1>Ticket Purchasing Form</h1>
<p class="alert">Act fast! This transaction must be completed in <span id="timer"></span> minutes.</p>
<div class="field">
<label class="required">How many tickets would you like to purchase?</label>
<input id="inputTicketQuantity" tabindex="1" required type="number" value="0" name="ticket-quantity" min="1" max="3" step="1" title="You can only buy between 1 and 3 tickets">
$<span id="totalTicketCost">0.00</span>
</div>

<div id="contactInfo" style="display:none;">
<div class="field">
<label class="required">Name:</label>
<input required name="name" tabindex="2" type="text" placeholder="Enter name" pattern="[a-zA-Z\s]+" title="Enter only letters. e.g. Smith">
</div>

<div class="field">
<label class="required">E-mail:</label>
<input id="inputEmail" tabindex="3" required name="email" type="email" placeholder="Enter e-mail address" onblur="validateEmail()">
</div>
</div>
<hr>

<input type="submit" tabindex="4" value="Purchase Tickets"> <input type="reset">
</form>



<script src="event_registration.js"></script>

</body>

最佳答案

这里仅使用 ES5(假设您在此阶段没有进行转译),我进行了快速重构。

var ticketInput = document.getElementById("totalTicketCost");
var inputTicketQuantity = document.getElementById("inputTicketQuantity");
var ticketCost = 5.5;

// Handle the precision up to >= $100
function changeCost( num ) {
var cost = new Number( parseFloat( num ) * ticketCost );
var precision = cost.toString().length === 3 ? 3 : 4;
return cost.toPrecision( precision );
}

inputTicketQuantity.addEventListener('input', function( event ) {
var value = event.target.value;
if ( !isNaN( value ) ) {
ticketInput.innerHTML = changeCost( value );
}
});

你肯定希望尽可能地将 JS 与 HTML 分开,避免像 <form onsubmit="" ="return alertDetails()" 这样难以阅读的内联内容。 ,至少应该是<form onsubmit="return alertDetails()"修复它。

关于Javascript:数量变化时更新价格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50145117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com