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

时间:2012-02-10 10:19:32

标签: javascript

在IE8和IE7中出现此错误。只有一点javascript的经验,但试图在工作中调试别人的代码。谷歌搜索一些原因并使用相同的变量名称,因为某些类可能导致错误,但似乎不是这里的情况。

http://pastebin.com/WBXYh9Wu

<tbody id="urlLinkTableBody">
<c:choose>
    <c:when test="${!empty urlLinkUrls}">
        <c:forEach var="urlLinkUrl" items="${urlLinkUrls}" varStatus="status">
            <tr id="urlLinkRow${status.index}">
                <td align="left">
                    <c:if test="${!vo.injectViewMode}">
                        <span id="editUrl${status.index}">
                            ${urlLinkUrl}
                        </span>
                        <input id="editUrlHidden${status.index}" type="hidden" name="urlLinkUrls" value="${urlLinkUrl}"/>
                    </c:if>
                    <c:if test="${vo.injectViewMode}">
                        <a href="javascript:windowPop('${urlLinkUrl}')">${urlLinkUrl}</a>
                    </c:if>
                </td>
                <c:if test="${!vo.injectViewMode}">
                    <script type="text/javascript">
                        jQuery('#editUrl${status.index}').editInPlace({
                            callback: function(original_element, newvalue, original){
                                if (isUrl(newvalue)) {
                                    document.getElementById('editUrlHidden${status.index}').value = newvalue;
                                    return newvalue;
                                }
                                alert("Invalid URL");
                                return original;
                            },
                            show_buttons: true
                        });
                    </script>
                </c:if>

1 个答案:

答案 0 :(得分:0)

首先,检查您是否已包含editInPlace插件的脚本。

其次,根据插件的工作方式,您可能需要在文档就绪处理程序中添加代码,如下所示:

<script type="text/javascript">
    jQuery(function() {
        jQuery('#editUrl${status.index}').editInPlace({
            callback: function(original_element, newvalue, original){
                if (isUrl(newvalue)) {
                    document.getElementById('editUrlHidden${status.index}').value = newvalue;
                    return newvalue;
                }
                alert("Invalid URL");
                return original;
            },
            show_buttons: true
        });
    });
</script>