0

我正在使用 spring MVC 3 测试一个 Web 应用程序,但我遇到了一个我无法解决的错误。

我有一个控制器,它为我提供了数据库中的数据列表,这些数据在 JSP 中使用 forEach 语句进行处理。此外,在forEachi 内部有一个表单,该表单将jquery-ui dialog在单击按钮后显示在 a 中。

我的 JSP 看起来像这样:

<html>
/**
*
*
**/
<c:forEach items="${listaFecha}" var="fec">
            <tr>
                <td><c:out value="${fec.id}" /></td>
                <td><c:out value="${fec.NOM_ASUNTO}" /></td>
                <td><fmt:formatDate value="${fec.FEC_INICIO}" pattern="dd-MMM-YYYY" /></td>
                <td><fmt:formatDate value="${fec.FEC_FIN}" pattern="dd-MMM-YYYY" /></td>
                <td><c:out value="${fec.PERIODO}" /></td>
                <td><button id="faqIE${fec.id}" value="${fec.id}" onclick="changeFec(${fec.id})">Editar</button></td>
            </tr>
            <div id="edit-form${fec.id}" class="edit" style="text-align:center;" title="Editar Fecha">      </br>   
                <form name="fechasE" method="POST" target="_parent" action="<c:url value="/manage/insertaForm"/>" id="form2E${fec.id}">
                    <label style="margin-right:133px;">Tipo de Solicitud: </label></br>
                    <input type="text" class="fields" name="asE" value="${fec.NOM_ASUNTO}" disabled/></br>

                    <label style="margin-right:158px;">Fecha Inicial: </label> </br>    
                    <input type="text" class="fields" name="date1E" value="<fmt:formatDate value="${fec.FEC_INICIO}" pattern="dd-MMM-YYYY"/>" /></br>

                    <label style="margin-right:165px;">Fecha Final: </label></br>
                    <input type="text" class="fields" name="date2E" value="<fmt:formatDate value="${fec.FEC_FIN}" pattern="dd-MMM-YYYY"/>" /></br>

                    <label style="margin-right:185px;">Periodo: </label></br>
                    <input type="text" class="fields" name="pdE" value="${fec.PERIODO}"/></br>
                </form>
            </div>
        </c:forEach>
/**
*
*
**/
<script type="text/javascript">
function changeFec(n) {
    $( "#edit-form"+n ).dialog({     
            autoOpen: true,      
            height: 390,      
            width: 350,      
            modal: true,
            resizable: false,
            buttons: {        
                Editar: function() {
                        $( "form2E"+n ).submit();
                        $( this ).dialog( "close" );          
                },        
                Cancelar: function() {          
                    $( this ).dialog( "close" );        
                }      
            }        
        });
}
</script>

它在 Opera、Google Chrome 和 Firefox 中运行良好,但在 IE7、8、9 中却不行。我不知道为什么!我一直在寻找几个小时没有成功!我希望有人可以帮助我。

在此先感谢并为我的英语不好感到抱歉。

编辑

这就是它必须工作的方式http://jsfiddle.net/NbddB/22/。但是 in 的值changeFec(value)必须是动态的,并且 div 是在forEach语句中动态创建的。

4

2 回答 2

1
    toggleExpand(e) {
        e.preventDefault()
        e.stopPropagation();
        if (!this.state.expanded) {
            document.addEventListener('click', this.handleOutsideClick, false);
        } else {
            document.removeEventListener('click', this.handleOutsideClick, false);
        }

        this.setState({
            expanded: !this.state.expanded
        });
    }

    handleOutsideClick(e) {
        if (this.node.contains(e.target)) {
            return;
        }

        this.toggleExpand(e);
    }

    toggleOpen(e) {   
        e.preventDefault()
        e.stopPropagation();
    }

render() {
  return (
                    {this.state.expanded && (
                            <div
                                className={styles.pointer}
                            >
                                <div
                                    onClick={this.toggleOpen}

                                >
                                    <button
                                        onClick={this.toggleExpand}
                                        className={[
                                            styles.close}
                                        alt="Close Button"

                                    />

                                    <div
                                        className={
                                            styles.pop}
                                     >
                                        <div>
                                            <span className={styles.label}>
                                            abcd 
                                            </span>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        )}

)}
于 2019-05-30T00:39:16.163 回答
0

回答我的问题!抱歉,如果有人浪费时间试图帮助我,我真的很感激。

问题是我没有为您提供有关我的问题的足够信息..在表格内部(包括我的表格)我正在使用带有 tablesorterPager 插件的tablesorter,这就是问题所在。似乎 tablesorterPager 不太喜欢我在 jquery-ui 对话框中的表单:(

好吧,我唯一做的就是把我的表格放在桌子外面,然后在每个浏览器中一切正常!=)

谢谢并恭祝安康。

于 2013-06-21T14:41:53.280 回答