Ajax - Как получить процент прогресса загрузки страницы (Dotnetnuke C#)

Автор сценария:

$(document).ready(function () {
        $('#btnNext').click(function (e) {
            e.preventDefault();
        });
        var options = {
            beforeSend: function () {
                $("#progress").show();
                //clear everything
                $("#bar").width('0%');
                $("#message").html("");
                $("#percent").html("0%");
            },
            uploadProgress: function (event, position, total, percentComplete) {
                $("#bar").width(percentComplete + '%');
                $("#percent").html(percentComplete + '%');
            },

            success: function () {

                $("#bar").width('100%');
                $("#percent").html('100%');
            },
            complete: function (response) {
                $("#message").html("<font color='green'>" + response.responseText + "</font>");
            },
            error: function () {
                $("#message").html("<font color='red'> ERROR: unable to upload files</font>");
            }
        };
        $("#form1").ajaxForm(options);
    });

HTML:

<form id="form1" method="post" enctype="multipart/form-data">
<div>
    <input type="file" size="60" name="myfile" />
    <input type="submit" value="Ajax File Upload" />
    <div id="progress">
        <div id="bar"></div>
        <div id="percent">0%</div>
    </div>
    <br />
    <div id="message"></div>
</div>

Я был протестирован с Webform (C#). Это сработало. Но, Dotnetnuke не работает. (Постбэк и ничего не меняется). Есть другой способ для Dotnetnuke, чтобы получить процент прогресса загрузки страницы? - Спасибо за чтение -

1 ответ

Решение

Попробуйте удалить <form> пометьте вокруг вашего модуля, потому что DNN уже записывает тег формы на страницу, окружающую тему и модули. Вы можете изменить последнюю строку в вашей логике jquery для ссылки на форму, уже загруженную DNN.

$("form:first").ajaxForm(options);
Другие вопросы по тегам