Javascript не обновляется @ Html.TextBox - PullRequest
0 голосов
/ 23 мая 2018

У меня есть веб-страница Asp.Net Razor с функцией JavaScript, которая не обновляет один из моих элементов управления @ Html.TextBox, как предполагалось.Вот код JavaScript:

    function UpdateDept() {
        debugger;
        var result = '';
        var badge = document.getElementById("PIP_BADGE").value;
        var url = "http://internalSite/api/personinfo/" + badge;
        alert('Using badge #' + badge)
        $.ajax({
            url: url,
            type: 'POST',
            data: { 'badge': badge },
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (result) {
                alert(JSON.stringify('result = ' + result));
                $('#PIP_DEPT').val(JSON.stringify(result));
            },
            error: function (xhr, ajaxOptions, thrownError) {
                alert(xhr.responseText);
            }
        })

Оба предупреждения дают мне правильные значения.Вот код для целевого @ Html.TextBox, который я хочу обновить:

                <td style="width: 40%">
                    <div class="form-group">
                        <label for="PIP_DEPT">Department:</label>
                        <a class="anchor" id="PIP_DEPT_ANCH"></a>
                        @Html.TextBox("PIP_DEPT", @dept, new { @class = "form-control", id = "PIP_DEPT", @readonly = true, style = "width: 400px" })
                    </div>
                </td>

Начальному значению @dept присваивается значение при начальной загрузке страницы, и оно отображается правильно.Что я делаю не так, что текстовое поле "PIP_DEPT" не обновляется?

Добавлено к адресу @ Mamum: этот код работает и обновляет поле только для чтения из выбранного значения в @ Html.DropDownList,JavaScript:

    function UpdateBadge() {
        var e = document.getElementById("PIP_USER_NAME");
        var temp = e.options[e.selectedIndex].value;
        $('#PIP_BADGE').val(temp);
    }

Код текстового поля:

@Html.TextBox("PIP_BADGE", @badge, new { @class = "form-control", id = "PIP_BADGE", @readonly = true, style = "width: 100px" })

1 Ответ

0 голосов
/ 23 мая 2018

Мои навыки вызова JavaScript / Api оставляют желать лучшего, поэтому с учетом этого получается, что вызов "не удался", но нужные мне нужные данные были возвращены в xhr.responseText.Это я могу использовать.Я знаю, я знаю, это ужасный хак, но я уже потратил слишком много времени на это.

Спасибо всем, кто присоединился.

...