Серверное событие ASP.NET TextBox OnTextChanged должно запускать некоторый клиентский код перед отправкой на сервер - PullRequest
0 голосов
/ 23 ноября 2011

Мой UserControl имеет TextBox, который подписан на событие OnTextChanged.Однако, поскольку на сервере происходит много бизнес-логики и интеграции, я хочу отключить форму, пока выполняется обратный вызов с использованием некоторого клиентского JavaScript, и я не уверен, как добиться этого правильным способом.

Могу ли я решить эту проблему с помощью ClientScriptManager.GetPostBackEventReference?

Редактировать: поскольку мой вопрос кажется неправильно понятым:

TextBox подписан на событие OnTextChanged = "tb_TextChanged", которое приведетна клиенте в onchange = __ doPostBack ('tb'), поэтому я хочу добавить мой JavaScript disableForm () в событие onchange DOM.Я знаю, как реализовать disableForm (), вопрос в том, как правильно внедрить мой JavaScript?

Ответы [ 2 ]

1 голос
/ 23 ноября 2011

Я бы предложил вам использовать событие javascript onblur и проверить, изменилось ли значение поля. Если это так, вы можете использовать jQuery, как показано ниже, чтобы отключить элементы формы.

Чтобы отключить элемент формы, например, ввод текста или кнопку (с выданным идентификатором: #elm):

$("#elm").attr("disabled", "disabled");

Чтобы включить отключенный элемент формы:

$("#elm").removeAttr("disabled");
0 голосов
/ 23 ноября 2011

Вы сможете сделать это с помощью простого JavaScript:

<script type="text/javascript">
    disableFormFields = function(){
        if (document.all || document.getElementById){
            for (i = 0; i < document.forms[0].elements.length; i++){
                var el = document.forms[0].elements[i];
                if (el){
                    el.disabled = true;
                }
            } 
        }
    }
</script>
<asp:TextBox ID="TextBox1" runat="server" onchange="disableFormFields();" OnTextChanged="TextBox1_TextChanged" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...