2015-06-09 4 views
0

Я искал google в течение долгого времени, прежде чем задавать этот вопрос, но не повезло."Объект не поддерживает это свойство или метод"

Я пытаюсь открыть всплывающее окно с помощью jquery, но я не могу это сделать. Я включил jquery-v.v.v.js и jquery-ui.custom.js в свой jsp следующим образом.

<script language="javascript" type="text/javascript" 
      src="../js/common/jquery-1.9.1.js"></script> 
    <script language="javascript" type="text/javascript" 
      src="../js/common/jquery-ui.custom.js"></script> 

И в файле jsp у меня есть форма. При отправке формы он вызывает службу (из класса действия struts 1.x) и возвращает некоторые данные, которые я должен показывать во всплывающем окне. Это код, который я использую для выполнения этой работы.

function ValidateAddresspopup(){ 
     var url ='<%= request.getContextPath()%>'+"/uspsValidation.do"; 
     $.post(url, {homeaddress2:document.forms[0].streetCurr.value,homecity:document.forms[0].cityCurr.value, homezip5:document.forms[0].currZip5.value, homestate:document.forms[0].statecurr.value,mailaddress2:document.forms[0].streetChange.value,mailcity:document.forms[0].cityChange.value,mailzip5:document.forms[0].zip5Change.value,mailstate:document.forms[0].statechange.value,medicaidid:document.forms[0].medicaidid.value}, function(data) { 

       alert("data"+data.trim()); 

      registerModalDialog("msAddrModal"); 
      openViewDialog("msAddrModal"); 

      //some code to split the data received and set in the popup fields. }); 

Я вернул данные из класса действия в виде строки, и я могу видеть данные в предупреждении. Функции registerModalDialog() и openViewDialog() следующие.

function registerModalDialog(dialogId){ 
     $('#'+dialogId).dialog({ 
     autoOpen : false, 
     modal : true, 
     dialogClass : 'web_dialog', 
     width : 'auto', 
     height : 'auto', 
     draggable : false 
}).parent().draggable();} 

    function openViewDialog(divId) 
    { 
    $('#'+divId).dialog("open"); 
    $(".ui-dialog-titlebar").hide(); 
    $(".ui-dialog-content").css("padding", 0); 
    $(".ui-dialog").css("overflow", "hidden"); } 

Аргумент, переданный обеим функциям, является идентификатором div, который я хочу показать во всплывающем окне. Сейчас я получаю сообщение об ошибке «„Объект не поддерживает это свойство или метод“. И он указывает строку

$('#'+dialogId).dialog(

из registerModalDialog функции(). Мы используем struts1.x и наш проект развертывается в websphere6.5.

заранее спасибо за любую помощь.

+0

Откройте консоль и введите $ .fn.dialog или $ .dialog. Если плагин находится там, вы увидите, что он распечатает функцию. Если это не означает, что он не загружен или он был запрошен, прежде чем он будет включен (но поможет вам определить, что не так) – sidonaldson

ответ

0

JQuery-ui.custom.js не может содержать диалог виджет. вы уверены, что он был выбран на странице http://jqueryui.com/download/ когда вы получаете jquery- ui.custom.js?

Попробуйте выполнить

$().dialog() 

на странице с

<script language="javascript" type="text/javascript" 
     src="../js/common/jquery-1.9.1.js"></script> 
<script language="javascript" type="text/javascript" 
     src="../js/common/jquery-ui.custom.js"></script> 

Любые ошибки?

+0

Он работает правильно в Tomcat. У меня проблема только при развертывании моего приложения в Websphere 6.5. Любая помощь приветствуется. – Prudvinath

+0

@Prudvinath попробуйте использовать jQuery.noConfilct() http://api.jquery.com/jQuery.noConflict/ –

Смежные вопросы