Javascript 未捕获类型错误:未定义不是函数onClick

Javascript 未捕获类型错误:未定义不是函数onClick,javascript,jsp,Javascript,Jsp,当我试图点击关闭按钮时,我得到的异常如下 Uncaught TypeError: undefined is not a function onClick 这是我的JSP代码片段 <input name="close" id="closeIFrame" type="button" onClick="window.parent.location.href = window.parent.location.href; window.parent.closeSearchLightBox();"

当我试图点击关闭按钮时,我得到的异常如下

Uncaught TypeError: undefined is not a function onClick
这是我的JSP代码片段

<input name="close" id="closeIFrame" type="button" onClick="window.parent.location.href = window.parent.location.href; window.parent.closeSearchLightBox();" value='Close' title="Close" class="btn btn-primary pull-right" />

忘了提及closesearchLightBox的定义为

    $(function() {
        $("#getAssistance").click(function(e) {
            e.preventDefault();
            var href = $(this).attr('href');
            if (href != undefined && href.indexOf('#') != 0 && href.indexOf('/broker/search') != 0) {
                $(
                        '<div id="searchBox" class="modal bigModal modalsize-l" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="aria-hidden">close</span></button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>')
                        .modal();
            }
        });
        $("#pop_findAgent").click(function(e) {
            e.preventDefault();
            var href = '/hix/broker/search?anonymousFlag=N';
            openFindBrokerDialog(href);
        });
    });

    function openFindBrokerDialog(href)
    {
        $('<div id="brokersearchBox" class="modal bigModal modalsize-l"><div class="searchModal-header"><button type="button" class="agentClose close"><span aria-hidden="true">&times;</span><span class="aria-hidden">close</span></button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div><div class="modal-footer txt-center"></div></div>').modal({show: true});
    }

    function closeSearchLightBox() {
        $("#searchBox").remove();
    }

    function closeSearchLightBoxOnCancel() {
        $("#searchBox").remove();
    }

    $('.agentClose').live('click',function(){
        $('#brokersearchBox, .modal-backdrop').remove();
        $('body').removeClass('modal-open');
        location.reload();          
    });

    $(document).keyup(function(e) {
        if (e.keyCode == 27) {
            $('#brokersearchBox').remove();
        }  
    });

    $('#closeAgentSerchBox').click(function(event){
        event.preventDefault();
        $( ".agentClose" ).trigger( "click" );
    });
$(函数(){
$(“#获取协助”)。单击(函数(e){
e、 预防默认值();
var href=$(this.attr('href');
如果(href!=未定义&&href.indexOf('#')!=0&&href.indexOf('/broker/search')!=0){
$(
“×;close')
.modal();
}
});
$(“#弹出查找”)。单击(函数(e){
e、 预防默认值();
var href='/hix/broker/search?anonymousFlag=N';
openFindBrokerDialog(href);
});
});
函数openFindBrokerDialog(href)
{
$('×;close').modal({show:true});
}
函数closeSearchLightBox(){
$(“#搜索框”).remove();
}
函数closeSearchLightBoxOnCancel(){
$(“#搜索框”).remove();
}
$('.agentClose').live('click',function(){
$('#brokersearchBox,.modal background')。删除();
$('body').removeClass('modal-open');
location.reload();
});
$(文档).keyup(函数(e){
如果(e.keyCode==27){
$(“#brokersearchBox”).remove();
}  
});
$(“#CloseAgentSearchBox”)。单击(函数(事件){
event.preventDefault();
$(“.agentClose”).trigger(“单击”);
});

方法
window.parent.closeSearchLightBox()
未定义

如果没有该方法,请添加以下代码

window.parent.closeSearchLightBox = function() {
   // your logic
}
但大多数情况下,它类似于window.closeSearchLightBox(),您可以从
window.closeSearchLightBox

window.closeSearchLightBox = function() {
   // your logic
}
否则它可以如下所示,因为函数附加到窗口对象

function closeSearchLightBox() {
       // your logic
    }

将其放置到单独的函数中,并在单击时调用它:

<input name="close" id="closeIFrame" type="button" onClick="doIt()" value='Close' title="Close" class="btn btn-primary pull-right" />

function doIt() {
  window.parent.location.href = window.parent.location.href;
  window.parent.closeSearchLightBox();
}

函数doIt(){
window.parent.location.href=window.parent.location.href;
window.parent.closeSearchLightBox();
}

是的,closeSearchLightBox()似乎未定义。

请发布一些代码,因为您的问题中没有JSP代码片段。因此
window.parent.closeSearchLightBox
未定义您认为应该定义它的原因是什么?
window.parent.location.href=window.parent.location.href