“对象不支持此属性或方法”

时间:2015-06-09 19:05:08

标签: javascript jquery jsp

我在问这个问题之前已经搜索了谷歌很久了,但没有运气。

我正在尝试使用jquery打开弹出窗口,但我无法做到。我在jsp中包含了jquery-v.v.v.js和jquery-ui.custom.js,如下所示。

    <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的id。 现在我收到错误“”对象不支持此属性或方法“。它指向行

$('#'+dialogId).dialog(
registerModalDialog()函数的

。 我们正在使用struts1.x,我们的项目部署在websphere6.5中。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

jquery-ui.custom.js可能不包含窗口小部件对话框。当你收到jquery-ui.custom.js时,你确定他在页面http://jqueryui.com/download/上被选中了吗?

尝试执行

$().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>

有任何错误吗?