Javascript jqueryui";“正在加载…”;错误处理

Javascript jqueryui";“正在加载…”;错误处理,javascript,jquery,jquery-ui,client-side,Javascript,Jquery,Jquery Ui,Client Side,亲爱的各位,我正在使用jQuery网格显示数据以供用户管理。当我点击“+”符号时,我会弹出一个对话框,我可以在其中创建一个新用户。我使用服务器端调用来填充级联列表 当我提交请求时:失败时,甚至成功时,“加载…”按钮似乎从未消失。我担心我会留下一些资源,或者更糟。由于我继承了这个应用程序,并且没有任何jQuery经验,我希望您能帮助我。如果事情真的很简单,我会提前道歉;但是,我在网上找不到任何能帮助我解决这个问题的东西 我正在使用Struts 2和jQuery;但是,我不认为我们使用jQueryS

亲爱的各位,我正在使用jQuery网格显示数据以供用户管理。当我点击“+”符号时,我会弹出一个对话框,我可以在其中创建一个新用户。我使用服务器端调用来填充级联列表

当我提交请求时:失败时,甚至成功时,“加载…”按钮似乎从未消失。我担心我会留下一些资源,或者更糟。由于我继承了这个应用程序,并且没有任何jQuery经验,我希望您能帮助我。如果事情真的很简单,我会提前道歉;但是,我在网上找不到任何能帮助我解决这个问题的东西

我正在使用Struts 2和jQuery;但是,我不认为我们使用jQueryStruts2插件。提前谢谢

代码如下:

<%@ include file="/WEB-INF/jsp/fragments/directive.jsp" %>  

<s:if test="hasActionErrors()">
<div class="error">
    <s:actionerror/>
</div>
</s:if>
<s:form action="userAdminCreateSubmit" namespace="/ti/tmsportal/ga" onsubmit="return false;" >
<s:textfield key="user.username" required="true" />
<s:textfield key="user.firstName" required="true" />
<s:textfield key="user.middleInitial" />
<s:textfield key="user.lastName" required="true" />
<s:textfield key="user.email" required="true" />
<s:textfield key="user.phone" required="true" />            
<s:select key="user.organizationId" list="organizations" listKey="value" listValue="label" required="true" onchange="changeWorkgroups(this.value);changeRoles(this.value);" />
<s:select key="user.workgroupId" list="workgroups" listKey="value" listValue="label" onchange="changeLocations(this.value);" />
<s:select key="user.locationId" list="locations" listKey="value" listValue="label" />
<s:select key="user.portalRole" list="roles" listKey="value" listValue="label" emptyOption="true" required="true" onchange="changeLevels(this.value);" />
<s:select key="user.levelCode" list="levels" listKey="value" listValue="label" emptyOption="true" required="true" />

</s:form>   

<s:url action="lookup" var="workgroupLookupUrl" >
<s:param name="type">workgroupsInOrganization</s:param>
</s:url>

<s:url action="lookup" var="locationLookupUrl" >
<s:param name="type">locationsInWorkgroup</s:param>
</s:url>

<s:url action="lookup" var="roleLookupUrl" >
<s:param name="type">rolesForOrg</s:param>
</s:url>

<s:url action="lookup" var="levelLookupUrl" >
<s:param name="type">levelsForRole</s:param>
</s:url>


<script>
function changeWorkgroups(key)
{
    $('#userAdminCreateSubmit [name="user.workgroupId"]').load('<s:property value="#workgroupLookupUrl" />&key=' + key + ' option',
        function(responseText, textStatus, XMLHttpRequest) {
            changeLocations();
            setVisibility();
        }
    );      
}

function changeLocations(key)
{
    $('#userAdminCreateSubmit [name="user.locationId"]').load('<s:property value="#locationLookupUrl" />&key=' + key + ' option',
        function(responseText, textStatus, XMLHttpRequest) {
            setVisibility();
        }
    );
}

function changeRoles(key)
{
    $('#userAdminCreateSubmit [name="user.portalRole"]').load('<s:property value="#roleLookupUrl" />&key=' + key + ' option',
        function(responseText, textStatus, XMLHttpRequest) {
            changeLevels($('#userAdminCreateSubmit [name="user.portalRole"]').value());
        });
}

function changeLevels(key)
{
    $('#userAdminCreateSubmit [name="user.levelCode"]').load('<s:property value="#levelLookupUrl" />&key=' + key + ' option');
}   

function setVisibility()
{
    $('#userAdminCreateSubmit [name="user.workgroupId"]').parents('tr').toggle(
        $('#userAdminCreateSubmit [name="user.workgroupId"] option[value!=""]').size() > 0
    );

    $('#userAdminCreateSubmit [name="user.locationId"]').parents('tr').toggle(
        $('#userAdminCreateSubmit [name="user.locationId"] option[value!=""]').size() > 0
    );
}

$(function()
{
    $('.button').button();
    setVisibility();
    addFieldHint('user.receiveNotifications', '<s:text name="content.help.receiveNotifications" />');       
    addFieldHint('user.username', '<s:text name="content.help.username" />');
});

function submitUserAdminCreate()
{
    $.post('<s:url action="userAdminCreateSubmit" namespace="/ti/tmsportal/ga" />', $('#userAdminCreateSubmit').serialize(),
        function(data) {
            $('#userAdminDialog').empty().append(data);
        }
    );
}
</script>

工作组组织
位置工作组
rolesForOrg
水平孔
功能更改工作组(键)
{
$('#userAdminCreateSubmit[name=“user.workgroupId”]')。加载('&key='+key+'option',
函数(responseText、textStatus、XMLHttpRequest){
改变位置();
setVisibility();
}
);      
}
功能更改位置(键)
{
$('#userAdminCreateSubmit[name=“user.locationId”]')。加载('&key='+key+'option',
函数(responseText、textStatus、XMLHttpRequest){
setVisibility();
}
);
}
功能更改角色(关键)
{
$('#userAdminCreateSubmit[name=“user.portalRole”]')。加载('&key='+key+'option',
函数(responseText、textStatus、XMLHttpRequest){
变更级别($('#userAdminCreateSubmit[name=“user.portalRole”]').value();
});
}
功能更改级别(键)
{
$('#userAdminCreateSubmit[name=“user.levelCode”]')。加载('&key='+key+'option');
}   
函数setVisibility()
{
$('#userAdminCreateSubmit[name=“user.workgroupId”]”)。父项('tr')。切换(
$('#userAdminCreateSubmit[name=“user.workgroupId”]选项[value!=”“]”)。size()>0
);
$('#userAdminCreateSubmit[name=“user.locationId”]”)。父项('tr')。切换(
$('#userAdminCreateSubmit[name=“user.locationId”]选项[value!=“”]).size()>0
);
}
$(函数()
{
$('.button').button();
setVisibility();
addFieldHint('user.receiveNotifications','');
addFieldHint('user.username','');
});
函数submitUserAdminCreate()
{
$.post(“”,$(“”#userAdminCreateSubmit').serialize(),
功能(数据){
$('#userAdminDialog').empty().append(数据);
}
);
}

要修复JS错误,只需更改

$('#userAdminCreateSubmit [name="user.portalRole"]').value()


您是否显示任何JS错误消息?如果您使用Firefox并查看控制台/错误日志。亲爱的Alex:我在Firefox上的Web控制台上得到以下响应:[16:54:38.272]$(“#userAdminCreateSubmit[name=\“user.portalRole\”])。值不是函数@。
$('#userAdminCreateSubmit [name="user.portalRole"]').val()