У меня есть 3 текстовых поля ASP.NET и одно HiddenField. Значение третьего текстового поля (оно отключено) зависит от значений двух других.
Формула:
txtPricepad = txtPrice / txtCarton
<asp:TextBox ID="txtPriceCase" runat="server" onblur="javascript:GetPricePerPad();></asp:TextBox>
<asp:TextBox ID="txtCarton" runat="server"></asp:TextBox>
<asp:TextBox ID="txtPricePad" Enabled="false" runat="server" ></asp:TextBox>
<asp:HiddenField ID="hdPricepad" runat="server"/>
function GetPricePerPad()
{
var priceCase = document.getElementById('ctl00_content_txtPriceCase').value;
var cartons = document.getElementById('ctl00_content_txtCarton').value;
var res = Number(priceCase) / Number(cartons);
document.getElementById('ctl00_content_txtPricePad').value = res;
document.getElementById('ctl00_content_hdPricepad').value = res;
}
Предполагается, что начальное значение txtPricePad равно 0, а txtCarton равно 12. Когда значение txtPrice изменяется на 1200, будет вызван GetPricePerPad (), таким образом, txtPricePad будет 100.
Javascript успешно изменил значение txtPricePad на 100, но когда я вызываю txtPricePad из внутреннего кода, его значение по-прежнему равно 0. Вот почему я также присвоил результат формулы HiddenField. Есть ли другие способы сделать это? Я не хочу снова использовать HiddenField.