alexvw Ответов: 1

$('#uimsg'). html ('sometring') перестал работать


Всем привет,

Окружающая среда:
ASP.NET (Webforms) (Framework4. 6. 1)
Главная страница- & gt; Content Page - & gt; UserControl

Сначала следующий "код" был на 100% работоспособен (каким-то образом, потому что я мог видеть " n " ошибок и предупреждений в веб-консоли Firefox)
<script type="text/javascript">

function showSiiValidateMsg() {
        $('#uiMsg').html('Por favor, espere mientras <br/> validamos los documentos en el SII.');

        $('#modal_ProgressCotizacion').modal('toggle');
    }

</script>

Html-содержимое моего объекта uiMsg было успешно обновлено,и модал отображался.

После очистки и реорганизации всех тегов скриптов на главной странице мне удалось избавиться почти от всех этих предупреждений/сообщений об ошибках со следующим исключением:
Loading failed for the <script> with source “https://localhost:44399/e0275a0961d04ca6aff64b4032dc2302/browserLink”
, которая всегда присутствовала.

Во всяком случае, с Bootstrap модальные глаголы остаются работоспособными и вышеупомянутый сценарий showSiiValidateMsg(), действительно активирует модальный:
$('#modal_ProgressCotizacion').modal('toggle');


но этот код:

$('#uiMsg').html('Por favor, espere mientras <br/> validamos los documentos en el SII.');


просто перестал работать. Я ничего не делаю, на самом деле, я пытался показать
alert($('#uiMsg').html());
Диалог появляется, но совершенно пустой.

Это отсутствие действий, очевидно, связано с переупорядочением тегов на главной странице, но поскольку в веб-консоли Firefox больше нет предупреждений/сообщений об ошибках, я понятия не имею, как решить эту проблему, сохраняя при этом порядок.

Вот как выглядит раздел главной страницы:

...
    <asp:PlaceHolder runat="server">     
        <%: Scripts.Render("~/bundles/modernizr") %>
        <%: Scripts.Render("~/bundles/MsAjaxJs") %>
    </asp:PlaceHolder>  
    <webopt:BundleReference runat="server" Path="~/Content/css" /> 
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
    <link rel="stylesheet" href="Recursos/normalize.css" />
    <link rel="stylesheet" href="Recursos/estilos.css" />
    <link rel="stylesheet" href="Recursos/menu.css" />
    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato" />
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous" />
...

<form id="FormMain" runat="server">
        <asp:ScriptManager ID="AjaxMngr" runat="server" EnablePartialRendering="true" EnableCdn="true"> </asp:ScriptManager>
....


Вот определение переопределения ScriptManages:
string str = "3.2.1";
            ScriptManager.ScriptResourceMapping.AddDefinition("jquery", new ScriptResourceDefinition

            {
                Path = "~/Scripts/jquery-" + str + ".min.js",
                DebugPath = "~/Scripts/jquery-" + str + ".js",
                CdnPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-" + str + ".min.js",
                CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-" + str + ".js",
                CdnSupportsSecureConnection = true,
                LoadSuccessExpression = "window.jQuery"
            });

            string strUI = "1.8.24";
            ScriptManager.ScriptResourceMapping.AddDefinition("jquery.ui.combined", new ScriptResourceDefinition

            {
                Path = "~/Scripts/jquery-ui-" + strUI + ".min.js",
                DebugPath = "~/Scripts/jquery-ui-" + strUI + ".js",
                CdnPath = "http://ajax.aspnetcdn.com/ajax/jquery.ui/" + strUI + "/jquery-ui.min.js",
                CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/jquery.ui/" + strUI + "/jquery-ui.js",
                CdnSupportsSecureConnection = true
            });

Руководство очень необходимо и ценится.

Спасибо.

Что я уже пробовал:

На всякий случай, это модал, который содержит элемент {uiMsg}, так как он визуализируется в клиенте, то есть идентификатор этого объекта вообще не изменяется.

<div class="modal fade" id="modal_ProgressCotizacion" role="dialog" tabindex="-1">
        <div class="modal-dialog modal-sm">
            <div class=" modal-content" style="background: #fff">
                <div class="modal-header center">
                    <p id="uiMsg"></p>
                </div>
                <div class="modal-body col-sm-12">
                    <div class="col-sm-4"></div>
                    <div class="col-sm-4"> <img src="../Recursos/Images/loader.gif" alt="" /> </div>
                    <div class="col-sm-4"></div>
                </div>
                <div class="modal-footer">
                    <p> Muchas gracias.</p>
                </div>
            </div>
        </div>
    </div>


2017/10/13 13 :47 (UTC-4)

Я только что попробовал кое-что еще. Я вызвал функцию Alert () После $('#uiMsg'). html (....), и она действительно показывает ожидаемое значение объекта, но когда появляется модал, он не отображает такое содержимое.

function showSiiValidateMsg() {

        var aver = document.getElementById('uiMsg');

        $('#uiMsg').html('Por favor, espere mientras <br/> validamos los documentos en el SII.');

        alert(aver.innerHTML);

        $('#modal_ProgressCotizacion').modal('toggle');
    }

1 Ответов

Рейтинг:
12

alexvw

Дорогие все,

После тщательного осмотра я наткнулся на корень проблемы. Оказалось, что у меня было два UserControls на одной странице контента, и я не понимал, что каждый имеет свою собственную модальную структуру bootstrap.

Хотя я дал каждому отдельное имя, я забыл сделать то же самое с внутренними объектами. Следствие-прямой конфликт между этими двумя. Как только я однозначно переименовал их, "проблема" исчезла.

Спасибо тем из вас, кто занимался этим. Ура!