如何解决在JQuery对话框中,在包含表单的局部视图中无响应的输入
|| 我遇到的问题是,将表单放在对话框中时,我在表单中显示的元素(输入,下拉列表等)完全没有响应。我无法单击它们(甚至下拉菜单),也无法更改它们的值(它们未标记为只读)。当我移除封闭的表单标签时,这种情况会发生变化-缺少表单标签时,所有输入都可以正确访问。 在某些背景下,表单处于局部视图中,并显示在“ 0”对话框中。不幸的是,我需要表单功能,因为我希望能够轻松获得控制器端的表单集合(我使用的是MVC
)。
这似乎是一个与实现无关的问题,但是如果有帮助,我可以发布一些代码。先感谢您!
编辑:这是我用来打开对话框的“ 0”,其中包含一些较晦涩的部分的注释。
_detailsDialog = $(\"#modal-ProductDetails\").dialog({
autoOpen: false,draggable: false,modal: true,resizable: false,width: \'auto\',title: \'Item Details\',buttons: {
\"Add\": function () { ItemsGridView.addItemToShoppingCartFromDialog(); $(this).dialog(\'close\'); },\"Cancel\": function () { $(this).dialog(\'close\'); }
}
});
$(\'#itemSummary\').load( //itemSummary is a div in the View
_getEditItemViewUrl,//A URL pointing to the postback action
{ baseItemNumber: baseItemNumber },function () {
_detailsDialog.dialog(\'open\');
}
);
编辑:这是部分视图代码:
<%@ Control Language=\"C#\" Inherits=\"System.Web.Mvc.ViewUserControl<Pandora.B2B.Web.Models.CatalogItemViewModel>\" %>
<div>
<h3>Add / Edit Item</h3>
<% using (Html.BeginForm(\"EditItem\",\"CatalogAdmin\",FormMethod.Post))
{ %>
<div class=\"validation-summary-errors\">
</div>
<div class=\"floatLeft\">
<%: Html.TextBox(\"txtReqdDescription\",Model.Description,new { @class = \"editableField\" }) %>
</div>
<% } %>
</div>
解决方法
检查并确保对话框实际上没有隐藏在另一个div后面。还要检查表单及其子项的z索引,并确保它们在对话框中位于其内部的div的z索引之上。
, 如果您多次按下标签,是否可以仅通过键盘选择/更改任何字段?可能是存在某种分层问题,可能是表单字段顶部的隐藏div?
很难说,没有看到任何代码。
, 您确定视图正在为the5创建结束标记吗?如果这不是问题,请使用jsFiddle创建一个代码示例,然后将其重新发布到此处。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。