读出dxTextBox输入值

时间:2018-02-06 16:05:12

标签: javascript html asp.net-core-mvc devextreme

我使用带有DevExtreme组件的ASP.NET MVC Core有一个奇怪的问题:

这里我有一个简单的DevExtreme dxTextBox。当用户在文本框中键入输入并按Enter键时,javascript方法" showPopup"将使用参数' Kunde'来调用。

            <div class="dx-field">
                <div class="dx-field-label">Kunde</div>
                <div class="dx-field-value">
                    @(Html.DevExtreme().TextBox()
                        .ID("textBoxKunde")
                        .OnEnterKey("function(e) { showPopup('Kunde') }")
                        .Placeholder("Name und/oder Vorname des Kunden eingeben...")
                        )
                </div>
            </div>

现在这里是JavaScript代码:

<script>
function showPopup(e) {
    switch(e) {
        case 'Kunde': 
            var input = $("#textBoxKunde").dxTextBox("option", "value");
            alert(input);

与描述的devExtreme API文档一样,代码$("#textBoxKunde").dxTextBox("option", "value");应该获取文本框的输入值。

现在奇怪的是:

  • 这在Google Chrome和Mozilla Firefox中运行良好,但在Internet Explorer 9中,我无法读出输入值,而是获得空值。
  • 更奇怪的是,我无法用IE 10读出这个值,但是当我打开IE10中的开发者工具(在IE-Edge中相同)时,我可以突然读出这个值。

我已经在DevExtreme支持票上发布了这个问题,但我无法获得线索。

有没有人知道这种奇怪的行为?

1 个答案:

答案 0 :(得分:0)

我得到了devextreme支持团队的答复,现在这个问题已经解决了。

解决方案是使用&#34; keydown&#34;添加ValueChangeEvent。关键字,以便在IE9 +中使用

<div class="dx-field">
                <div class="dx-field-label">Kunde</div>
                <div class="dx-field-value">
                    @(Html.DevExtreme().TextBox()
                        .ID("textBoxKunde")
                        .OnEnterKey("function(e) { showPopup('Kunde') }")
                        .Placeholder("Name und/oder Vorname des Kunden eingeben...")
                        .ValueChangeEvent("keydown")
                        )
                </div>
            </div>