0

目前,我们有一个编辑用户对话框(fancybox),它有一个链接,基本上用另一个用于更改密码的fancybox 对话框替换了这个对话框。在您单击更改密码对话框上的提交按钮之前,一切似乎都正常运行。什么都没有发生。我检查了提琴手,没有提出任何请求。我检查 Firefox 以验证更改密码控件实际上是否包含在正确的表单标签中,并且确实如此。是什么赋予了?我通过网络查找了类似的问题,并且有一些问题,但没有一个使用 MVC4,我不太了解它们。

这些花式框模式正在通过局部视图加载。例如,打开第一个对话框的链接就是 href="EditUserPartialAction" 的链接。效果很好。通过第一个模型的链接打开的模型做同样的事情,它只是有一个 href="ChangePasswordPartialAction"。它完美加载。它只是不做任何事情的按钮。

这是正在生成的html。您可以看到表单看起来正确并且应该可以工作(除非我忽略了某些东西)。再一次,什么都没有发生。没有提出任何请求,更不用说错误了。取消按钮起作用,它只是将此对话框替换为先前的编辑用户对话框。

<div class="fancybox-wrap fancybox-desktop fancybox-type-ajax fancybox-opened" tabindex="-1" style="width: 533px; height: auto; position: fixed; top: 20px; left: 685px; opacity: 1; overflow: visible;">
    <div class="fancybox-skin" style="padding: 15px; width: auto; height: auto;">
        <div class="fancybox-outer">
            <div class="fancybox-inner" style="overflow: auto; width: 503px; height: 279px;">
                <div id="modal-page">
                    <h1>Change Password</h1>
                    <form method="post" action="/AccountUser/ChangePassword?userId=0">
                        <div class="field_wrapper password">
                            <label for="NewPassword">NewPassword</label>
                            <input id="NewPassword" type="password" placeholder="Password" name="NewPassword">
                        </div>
                        <div class="field_wrapper password">
                            <label for="ConfirmPassword">ConfirmPassword</label>
                            <input id="ConfirmPassword" type="password" placeholder="Confirm Password" name="ConfirmPassword">
                        </div>
                        <div class="field_wrapper submit">
                            <a class="close_modal gradient change-password" href="/AccountUser/EditUserPartial?userId=0">Cancel</a>
                            <input class="gradient" type="submit" value="Change" name="update"/>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    <a class="fancybox-item fancybox-close" href="javascript:;" title="Close"></a>
    </div>
</div>

更新:确实没有任何真正添加的 jquery/javascript。除了 fancybox 库本身之外,这就是添加的所有内容,它们只是将它们连接到几个类:

// main.js

$(document).ready(function() {
    $('.edit, .addUser, .delete').fancybox({

        maxWidth : 486,
        autoSize : true,

    });
});

// plugins.js

// Avoid `console` errors in browsers that lack a console.
(function() {
    var method;
    var noop = function () {};
    var methods = [
        'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error',
        'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log',
        'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd',
        'timeStamp', 'trace', 'warn'
    ];
    var length = methods.length;
    var console = (window.console = window.console || {});

    while (length--) {
        method = methods[length];

        // Only stub undefined methods.
        if (!console[method]) {
            console[method] = noop;
        }
    }
}());

// Place any jQuery/helper plugins in here.
4

0 回答 0