为什么单击一个表单元素集焦点到另一个?

时间:2012-09-19 19:31:42

标签: javascript html

我有一个奇怪的问题。当我单击表单的'TransDesc'输入文本元素时,焦点会立即转到第一个元素'Quantity'。我相信这与我在'Amount'元素的onchange有关。

为了关注'TransDesc',我必须选择'数量',然后选择'金额'。

我在retTotalAmt()中尝试了一个设置焦点,但这没有用。

我需要更改什么,所以我可以点击TransDesc,而不是焦点返回'数量'

function retTotalAmt()
{
var total_amt = 
document.forms["InvGenPayTickets"]["Quantity"].value * ticketCost;

document.getElementById('Amount').value = total_amt.toFixed(2);
}

.
.
.

Quantity
<input type='text' name='Quantity' id='Quantity' 
       onchange="return retTotalAmt();" /> 

Amount 
$<input type='text' name='Amount' id='Amount' readonly="readonly" />
<input type=text name="TransDesc" id="TransDesc" maxlength=255 />

某些表单字段周围有元素。

1 个答案:

答案 0 :(得分:2)

所以我认为围绕输入​​字段的<label>元素存在问题,可能存在令人困惑的ID,如下例所示:

<label for="input1"><input id="input1" /></label>
<label for="input1"><input id="input2" /></label>​

因此,如果您不需要这些标签,只需删除它们或尝试修复ID