そのため、解決方法について 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でそれを行う方法があるかどうか疑問に思っていましたか?