Ошибка времени выполнения Microsoft JScript: объект не поддерживает свойство или метод 'dialog'
Я использую пользовательский элемент управления.ascx, где я заполняю данные о сотрудниках вместе с их фотографиями. при нажатии на изображение сотрудника я хочу отобразить диалоговое окно, в котором я хочу иметь одно текстовое поле и текстовое поле для ввода от пользователя. Событие щелчка срабатывает нормально, но с диалоговым окном выдает ошибку "Ошибка времени выполнения Microsoft JScript: объект не поддерживает свойство или метод" диалог "". Может ли кто-нибудь помочь мне заполнить диалог с текстовым полем и текстовым полем. Я действительно новичок в JQUERY и изо всех сил пытаюсь заставить его работать.
В следующем фрагменте кода я добавил код диалога из одного примера, который я нашел в Интернете.
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="OpenAccessDataProvider,a4a794260c0b4440b466f75d11146db8.ascx.cs" Inherits="SitefinityWebApp.SfCtrlPresentation.OpenAccessDataProvider_a4a794260c0b4440b466f75d11146db8" %>
<%@ Register TagPrefix="sf" Namespace="Telerik.Sitefinity.Web.UI.PublicControls.BrowseAndEdit" Assembly="Telerik.Sitefinity" %>
<%@ Register TagPrefix="sf" Namespace="Telerik.Sitefinity.Web.UI.ContentUI" Assembly="Telerik.Sitefinity" %>
<%@ Register TagPrefix="sf" Namespace="Telerik.Sitefinity.Web.UI.Comments" Assembly="Telerik.Sitefinity" %>
<%@ Register TagPrefix="sf" Namespace="Telerik.Sitefinity.Web.UI.Fields" Assembly="Telerik.Sitefinity" %>
<%@ Register TagPrefix="sf" Namespace="Telerik.Sitefinity.Web.UI" Assembly="Telerik.Sitefinity" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<telerik:RadListView ID="dynamicContentListView" ItemPlaceholderID="ItemsContainer" runat="server" EnableEmbeddedSkins="false" EnableEmbeddedBaseStylesheet="false">
<LayoutTemplate>
<ul class="sfitemsList sfitemsListTitleDateTmb">
<asp:PlaceHolder ID="ItemsContainer" runat="server" />
</ul>
</LayoutTemplate>
<ItemTemplate>
<li class="sfitem sfClearfix">
<h2 class="sfitemTitle">
<sf:DetailsViewHyperLink ID="DetailsViewHyperLink" TextDataField="Title" runat="server" />
</h2>
<sf:AssetsField ID="AssetsField1" runat="server" DataFieldName="Picture" />
<sf:SitefinityLabel ID="SitefinityLabel1" runat="server" Text='<%# Eval("Designation")%>' WrapperTagName="div" HideIfNoText="true" CssClass="sfitemShortTxt" />
<sf:SitefinityLabel ID="SitefinityLabel2" runat="server" Text='<%# Eval("CompanyName")%>' WrapperTagName="div" HideIfNoText="true" CssClass="sfitemShortTxt" />
<sf:AssetsField ID="AssetsField2" runat="server" DataFieldName="Documents"/>
</li>
</ItemTemplate>
</telerik:RadListView>
<sf:Pager id="pager" runat="server"></sf:Pager>
<script type="text/javascript">
$(document).ready(function () {
$(".sfClearfix .sfimageWrp img").click(function () {
// $(document).ready(function () {
var $dialog = $('<div></div>')
.html('This dialog will show every time!')
.dialog({
autoOpen: false,
title: 'Basic Dialog'
});
$('#opener').click(function () {
$dialog.dialog('open');
// prevent the default action, e.g., following a link
return false;
});
// });
//alert("HEY THERE " + $(this).attr("src"));
});
});
</script>
Regards.
3 ответа
Понял, ребята. Просто добавил div, который предназначен для диалога, а затем нажмите на картинку, которая называется div. Также добавлен JQuery.noConflict(); чтобы предотвратить конфликты между библиотеками Sitefinity и JQuery. Ниже приведен фрагмент кода
<div class="dialogTest"> <br />
<br />
Please enter your email address: <input type="text" name="emailAddress" style="width:300px;" /><br /><br />
<asp:TextBox ID="txtBox" runat="server"></asp:TextBox> <br/>
<asp:Button ID="Button1" runat="server" Text="Button" CausesValidation="False"
onclick="Button1_Click" />
</div>
<script type="text/javascript">
$j = jQuery.noConflict();
$j(document).ready(function () {
$j(".sfClearfix .sfimageWrp img").click(function () {
$j(".dialogTest").addClass("open");
//return $j(this).attr("src");
});
});
</script>
В моем случае файлы jquery не загружаются должным образом. Итак, что я сделал: 1) открыл страницу в Chrome 2) выбрал инструменты разработчика из меню или Ctrl+Shift+I 3) нажал на сеть, чтобы увидеть все.
Я была такая же проблема. проблема была в том, что я загрузил 2 файла Jquery. jquery-1.8.3.js и jquery-1.4.1.js . так что был конфликт. после удаления файла jquery-1.4.1.js . это работало гладко.