2015-08-16 3 views
-3

Я хочу создать некоторую функцию на основе управления 2 текстовыми полями, которые только что изменились, поэтому я могу вызвать соответствующую функцию после этого, используя js в asp.net.Как получить идентификатор управления, который только что изменил его значение?

Для того, чтобы понять,

У меня есть 1 DropDownList (DDL) и 3 texbox здесь они

<input type="text" class="form-control" id="tbTopUpAmount" placeholder="0" name="tbTopUpAmount" onblur="calculate()" onchange="calculate();setTBjustChanged(this)" onkeyup="calculate()" runat="server"/> 
<asp:HiddenField ID="hfCR" runat="server" /></div> 
<input type="text" class="form-control" id="tbAmountPaying" name="tbAmountPaying" placeholder="0"onblur="reverseCalculate()" onchange="reverseCalculate()" onkeyup="reverseCalculate();setTBjustChanged(this)" runat="server"/> 
<asp:DropDownList ID="ddlPaymentCurrency" CssClass="form-control" runat="server" onblur="showCRate2()" onChange="showCRate2();reCalculate()"></asp:DropDownList> 

Как вы видите, все управления имеют какое-то событие. Этот случай о преобразовании валюты. Я хочу получить идентификатор, из которого текстовое поле tbTopUpAmount или tbAmountPaying это просто пользователем. Поэтому после этого я могу применить команду, когда выпадающий список выбран для вызова функции calculate() или reverseCalculate(), когда dropdownlist selectedvaluechanged он вызывает ajax, а затем обновляет значение hfcr. Поэтому, если пользователь вводит tbTopUpAmount, то изменение курса валюты tbAmountpaying будет обновляться, а также наоборот.

вот мой код

var TBjustchanged=""; 

     function setTBjustChanged(obj) { 
      this.TBjustchanged = obj.id; 
     } 

     function reCalculate() { 
      if (this.TBjustchanged == "tbTopUpAmount") { 
       calculate(); 
      } else { 
       reverseCalculate(); 
      } 
     } 

, но не получить идентификатор элемента управления, я не знаю, что это неправильно

+2

Ваш вопрос непонятен, попробуйте уточнить. –

+0

Информация, которую вы ищете, вероятно, доступна в аргументе события. –

+0

well @MotiAzu, я задал этот вопрос, потому что я предполагаю, что эту идею я могу применить для вызова подходящей функции после выпадающего списка после многих случаев. Если вы знаете больше, вы можете увидеть по адресу http://stackoverflow.com/questions/32032138/change -textbox-value-after-dropdownlist-change-multi-case – Ana

ответ

1

Если я правильно понимаю вашу проблему правильно, создать переменный для записи текстового поля, когда он изменяет затем обновляйте его всякий раз, когда текстовое поле меняет.

<input id="ineedtoknowwhenthischanges" onkeydown="whatchanged(this);"> 

var lastchangedtextbox; 
function whatchanged(changedtextbox) 
{ 
lastchangedtextbox=changedtextbox.id; 
} 
+0

Я попытался применить это и проверить его в консоли хром, не знаю, почему id undefined – Ana

+0

Я уже обновляю свой вопрос – Ana