1

そのため、解決方法について 100% 確信が持てないという問題があります。文字列のリストをループして複数のフォームを作成しています。私がやりたいのは、要素の id を文字列からスペースを引いたものに設定することです。スペースを削除するJavaScript関数があります

function trimWhiteSpaces(name) {
return name.replace(/\s+/g, '');
}

以下は、フォームを生成するための現在のコードです。

@(name: List[String])

...

@for(name <- names) {
        <td>@name
        @form(routes.Application.makeCall()) {
        <div id="hiddenForm" style="visibility:hidden">
            <input type="text" name="commandID" id="id@name" value="10" />
            <input type="text" name="source" id="sourceCall@name" value="source" />
            <input type="text" name="destination" id="dest@name" value="@name" />
        </div>
        <input type="submit" value="Call" id="call@name"/>
        }
}

しかし、私がやりたいことは: 次のようなものです:

<input type="submit" value="Call" id="call{js:timWhiteSpaces(@name)}"/>

どんな助けでも大歓迎です。私が考えるもう 1 つのオプションは、文字列を渡す代わりに、2 つのオプションを持つ新しいカスタム オブジェクトを渡すことです。しかし、私はhtml/javascriptの専門家ではないので、javascriptでそれを行う方法があるかどうか疑問に思っていましたか?

4

1 に答える 1

3

サーバー側で行うことをお勧めします。

id="@(name.replace(" ", ""))"
于 2012-06-15T06:24:48.727 に答える