我有一个奇怪的问题。当我单击表单的“TransDesc”输入文本元素时,焦点立即转到第一个元素“数量”。我相信这与我对“金额”元素的更改有关。
为了在“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 />
一些表单字段周围有元素。
最佳答案
所以我认为<label>
有问题输入字段周围的元素,可能有令人困惑的 ID,如本例所示:
<label for="input1"><input id="input1" /></label>
<label for="input1"><input id="input2" /></label>
因此,如果您不需要这些标签,只需删除它们或尝试修复 ID
关于javascript - 为什么单击一个表单元素会将焦点设置到另一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12501596/