Привет всем! У меня проблема с веб-приложением на ASP.NET. Я использую пошаговый мастер и на одном из шагов есть JavaScript функция для расчетов. Все считается правильно, но когда переходишь на следующий шаг и возвращаешься назад, некоторые значения пропадают.
Вот моя функция для расчетов:
function ComputeValues() {
fldPrice = document.getElementById('<%=fldPrice.ClientID %>');
fldAssets = document.getElementById('<%=fldAssets.ClientID %>');
fldPayment = document.getElementById('<%=fldPayment.ClientID %>');
var pattern = /[$,]/g;
// Проверка пустых значений
PriceValue = (PriceValue == "" ? "$0" : PriceValue);
AssetsValue = (AssetsValue == "" ? "$0" : AssetsValue);
PaymentValue = (PaymentValue == "" ? "$0" : PaymentValue);
// Убираем символы валюты
PriceValue = fldPrice.value.replace(pattern, "");
AssetsValue = fldAssets.value.replace(pattern, "");
PaymentValue = fldPayment.value.replace(pattern, "");
// Устанавливаем новые значения
fldProfit.value = "$" + (PriceValue - AssetsValue);
fldRemaining.value = "$" + (PriceValue - PaymentValue);
if (chkFinancing.checked == 1) {
fldFinancingPercent.value = Math.round((PriceValue - PaymentValue) / PriceValue * 100);
} else {
fldFinancingPercent.value = "0";
}
}
Проблема в том что:
Некоторые поля сохраняют значения после postback, а некоторые нет. Поле fldFinancingPercent
всегда возвращается пустым, а другие процентные поля показывают 0.
Вызываю функцию через onkeyup события:
If Not Page.IsPostBack Then
fldPrice.Attributes.Add("onkeyup", "ComputeValues()")
fldAssets.Attributes.Add("onkeyup", "ComputeValues()")
fldPayment.Attributes.Add("onkeyup", "ComputeValues()")
End If
Кто-нибудь сталкивался с такой проблемой? Буду благодарен за помощь!