2

からの入力を検証中ですが、検証エラーが発生した場合にユーザー入力フィールドを保持する必要があります

これが私の入力フィールドです

<form:input path="firstName" class="text short" id="firstName" value="First Name" name ="firstName"/>

私の問題はvalue="First Name"、これはユーザーが入力した値を上書きしているため、HTMLを変更できず、上記の入力ボックスに条件を追加することしかできないことです。

この問題を解決する方法はありますか?

4

2 に答える 2

1

の属性値<form:input/>は、コントローラーからのユーザーによって送信された値をオーバーライドします。

多くの回避策があります。ユーザーが設定していない場合はjavascriptを使用して入力値を設定するか、前述の条件を使用します。多分これは役立ちます:

<c:if test="${not empty command.firstName}">
    <form:input path="firstName" cssClass="text short"/>
</c:if>
<c:if test="${empty command.firstName}">
    <form:input path="firstName" cssClass="text short" value="First Name"/>
</c:if>

ここで、commandは、コントローラーからのオブジェクトの名前です。

于 2012-06-05T13:48:53.010 に答える
1

ユーザーが何かを入力するまでの一種のプレースホルダーとして「First Name」を表示したいと思います。その場合、placeholderhtml5 属性を使用しませんか?

于 2012-06-05T13:53:45.523 に答える