-1

ループがvarStatusあり、それを js の関数に送信したいと考えています。

これは私が持っているものです:

onkeyup="clickableButton(this.value, ${newCommentStatus.index})"

しかし${newCommentStatus.index}、未定義です。この値を送信するにはどうすればよいですか??

よろしくお願いします

編集

    <c:forEach items="${threadviewModel.emailToShowList}" var="row" varStatus="status">
    <form:form modelAttribute="commentFieldModel">
<span class="commentInput"><form:input id="commentInput" type="text" path="commentText" size="90" value=" " onkeyup="clickableButton(this.value, ${status.index})"/></span>
                                        <div><input disabled="true" type="submit" id="save-${status.index}" name="_eventId_addComment" value="Save"/></div>
                                    </div>
                            </form:form>

Javascript コード

function clickableButton(text, id) {
            if (text.length > 0)
                document.getElementById("save-" + id).disabled = false;
            else
                document.getElementById("save-" + id).disabled = true;
        }
        ;
4

3 に答える 3

3

「 newCommentStatus <c:forEach>」ではなく、変数「status」を呼び出します。

イベント ハンドラは次のようになります。

... onkeyup="clickableButton(this.value, ${status.index})" ...

また、JavaScript をクリーンアップすることもできます。

    function clickableButton(text, id) {
        document.getElementById("save-" + id).disabled = text.length <= 0;
    }
于 2012-08-14T14:11:45.060 に答える
0

代わりに方法を試してください

onkeyup="clickableButton(this.value, '${newCommentStatus.index}')"

于 2012-08-15T05:59:30.033 に答える
-1

${newCommentStatus.index} は標準の JavaScript ではありません。
JQuery などを使用していると思われます: ${newCommentStatus}.index を試してください
。これはいくつかの仮定で機能します。

于 2012-08-14T14:09:30.533 に答える