當我的表單中的某個字段獲得焦點時,我想要調用一個javascript函數,即 可以計算該字段的值,而不需要將其放入特定的按鈕即可。我可以重新計算沒有重新加載的表單域嗎?
這可能不會導致窗體重新加載?
我想過如何使Amount字段爲只讀,以及其他一些方法,但是我正在查看是否更改Quantity字段可能會導致Amount字段在數量字段中使用onchange進行更改或在「金額」字段中對焦。
Purchase Tickets<br>
<script type="text/javascript" language="JavaScript1.2">
<script type="text/javascript" language="JavaScript1.2">
document.write(
'<form name="InvGenPayTickets" action="'+PostURL+'"
onsubmit="return validateForm();" method=GET>');
</script>
<input type=hidden name="TplURL" value="GenPayCCInfo.html">
<input type=hidden name="CancelURL" value="Ooopsie.html">
<input type=hidden name="SuccessURL" value="Joanie.html">
<input type='hidden' name='TransDesc' id='TransDesc'
value="$_POST['TransDesc']; ?>" />
<input type='text' name='Quantity' id='Quantity' /> <br />
Amount<br />
$<input type='text' name='Amount' id='Amount' />
<input type="submit" value="Next">
<br>
</form>
編輯:
這裏是不會更新的功能。如果我用
<input type='text' name='Quantity'
id='Quantity' onchange="return retTotalAmt();" />
但金額字段不更新。我無法使用calc按鈕進行更新。
<script type="text/javascript" language="JavaScript1.2">
function retTotalAmt()
{
alert("Got here.");
var total_amt
= (document.getElementById('Quantity').value * ticketCost)
+ DonationAmount;
document.getElementById('Amount').value = total_amt;
}
</script>
每請求評論:
<input type='text' name='Quantity'
id='Quantity' onchange="return retTotalAmt();" />
編輯 - 顯示問題
<script type="text/javascript" language="JavaScript1.2">
var ticketCost = 40.00;
function EnterPage()
{
var currentTotalAmount = DonationAmount + ticketCost;
//DonationAmount moved up to ticketCost's scope fixed problem.
var DonationAmount = <?php echo($_POST['DonationAmount']); ?>;
document.getElementById('DonationAmountField').value = DonationAmount.toFixed(2);
document.getElementById('Quantity').value=1;
document.getElementById('Amount').value = currentTotalAmount.toFixed(2);
return;
}
是的,你會使用'focus'事件。看到[這裏](http://stackoverflow.com/questions/3763080/javascript-add-events-cross-browser-function-implementation-use-attachevent-add)爲一個跨瀏覽器的方式附加事件到一個元素。 – Shmiddty