【问题标题】:Submit button issue in dialog (MVC4) [closed]在对话框中提交按钮问题(MVC4)[关闭]
【发布时间】:2014-07-31 07:16:49
【问题描述】:

无论如何,提交按钮在我的对话框中不起作用。完全没有。

不仅有我自己的代码,还有一个简单的示例:

<div id="dialog">
    Your non-modal dialog
    <input style="font-size: 0.9em; color: #ff6a00; width: 100px" type="submit" name="filter2" value="Filter" />
</div>

<script type="text/javascript">
    $('#open').click(function () {
        $('#dialog').dialog('open');
    });

    $(document).ready(function () {
        $("#dialog").dialog({
            autoOpen: false,
            modal: true,
            open: function () {
                jQuery('.ui-widget-overlay').bind('click', function () {
                    jQuery('#dialog').dialog('close');
                })
            }
        });
    });
</script>

完全没有反应。 HomeController 中没有调用任何内容。甚至 fiddler 也根本不会对这个提交按钮做出反应。

我无法得到它,我错过了什么?首先我认为这是jQuert对剑道主题的奇怪反应,但这似乎不对。

编辑: 实际上我已经问过类似的事情,但是我使用了 div: All bunch of issues

【问题讨论】:

  • 为什么$('#open').click(..document.ready 之外?它应该在里面
  • 您的表格在哪里? jQuery UI 可能会在其外部创建对话框
  • 首先,HomeController 在哪里,为什么与此有关?我猜你会想要始终使用$,而不是混合使用$jQuery
  • 即使是提琴手也根本不会对这个提交按钮做出反应。....以及为什么这应该反应你没有#open id 来提交你的提交全部。
  • 我认为#open 按钮是在您编写完脚本之后出现的。让这个脚本成为您 html 中的最后一件事

标签: c# javascript jquery asp.net-mvc-4


【解决方案1】:

提交按钮有时会在对话框中产生问题,您可以尝试使用 Jquery 触发提交按钮:

$('input[type=submit]').trigger('click');

只需在对话框中添加一个表单标签,如下所示。

<div id="dialog">
<form action="// where you want to post form //" method="post">
....
....
<input style="font-size: 0.9em; color: #ff6a00; width: 100px" type="submit" name="filter2" value="Filter" />
</form>
</div>

<script type="text/javascript">
$('#open').click(function () {
    $('#dialog').dialog('open');
});

$(document).ready(function () {
    $("#dialog").dialog({
        autoOpen: false,
        modal: true,
        open: function () {
            jQuery('.ui-widget-overlay').bind('click', function () {
                jQuery('#dialog').dialog('close');
            })
        }
    });
});
</script>

【讨论】:

  • @downvoter 我的回答有什么问题???
  • 不知道谁投了反对票,但是……这东西,应该放在哪里?如果它被放在 $(document).ready(function () { - 它开始不停地调用它。
  • 只需在对话框中包装一个表单,然后使用我的代码,您将重定向到您将在表单标签内提供的任何操作动作..
  • 还是没听懂。对不起,我是 jQuery 和 MVC 本身的新手,所以我的问题可能听起来很愚蠢。
  • 将 Html.BeginForm 放在对话框 div 中效果很好。@KartikeyaKhosla 你的回答节省了我的时间。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多