2016-11-03 5 views
0

私はウェブサイトを作り、アカウントを登録するためのフォームを作っています。登録時に発生するすべての処理はjava/velocity部分で処理されます。ベロシティテンプレートを使ってフォームの値を保持しようとしています

あなたのパスワードを2回入力する必要があります。私はすでにパスワードをチェックしていますが、それが起こらないときはいつでも、ユーザーがフィールドに入力した値を保持したいと思っています。

今私の質問はjsでこれを行うのですか?それとも全く違うことをする必要がありますか?

<form action="" id="registerForm" method="post"> 
<h1>$msg.get("REGISTER_HEADING")</h1> 
<p>$msg.get("REGISTER_INSTRUCTIONS")</p> 

<div class ="test"> 
<label>$msg.get("REGISTER_LABEL_FIRSTNAME")</label> 
<input type="text" name="firstname" placeholder="$msg.get("REGISTER_LABEL_FIRSTNAME")" value="" required> 
</div> 

<label>$msg.get("REGISTER_LABEL_SURNAME")</label> 

<div class = "test"> 
<input type="text" name="surname" placeholder="$msg.get("REGISTER_LABEL_SURNAME")" value="" required><br> 
</div> 

<div class = "test2"> 
<label>$msg.get("REGISTER_LABEL_EMAIL")</label> 
<input type="email" name="email" placeholder="$msg.get("REGISTER_LABEL_EMAIL")" value="" required><br> 
</div> 


<div class ="test"> 
<label>$msg.get("REGISTER_LABEL_PASSWORD")</label> 
<input type="password" name="password" placeholder="$msg.get("REGISTER_LABEL_PASSWORD")" value="" required> 
</div> 

<div class ="test"> 
<label>$msg.get("REGISTER_LABEL_PASSWORD2")</label> 
<input type="password" name="password2" placeholder="$msg.get("REGISTER_LABEL_PASSWORD2")" value="" required><br> 
</div> 

<div class = "test2" 
<label>$msg.get("REGISTER_LABEL_MPHONE")</label> 
<input type="number" name="mobile" placeholder="$msg.get("REGISTER_LABEL_MPHONE")" value="" required><br> 
</div> 

<div class = "test2" 
<label>$msg.get("REGISTER_LABEL_HPHONE")</label> 
<input type="number" name="home" placeholder="$msg.get("REGISTER_LABEL_HPHONE")" value="" required><br> 
</div> 

<div class = "test2" 
<label>$msg.get("REGISTER_LABEL_COUNTRY")</label> 
<input type="text" name="country" placeholder="$msg.get("REGISTER_LABEL_COUNTRY")" value="" required><br> 
</div> 

<div class = "test2" 
<label>$msg.get("REGISTER_LABEL_CITY")</label> 
<input type="text" name="city" placeholder="$msg.get("REGISTER_LABEL_CITY")" value="" required><br> 
</div> 


<div class = "test2" 
<label>$msg.get("REGISTER_LABEL_POSTALCODE")</label> 
<input type="text" name="postal_code" placeholder="$msg.get("REGISTER_LABEL_POSTALCODE")" value="" required><br> 
</div> 

<div class = "test" 
<label>$msg.get("REGISTER_LABEL_STREET")</label> 
<input type="text" name="street" placeholder="$msg.get("REGISTER_LABEL_STREET")" value="" required><br> 
</div> 

<div class = "test" 
<label>$msg.get("REGISTER_LABEL_HNUMBER")</label> 
<input type="text" name="number" placeholder="$msg.get("REGISTER_LABEL_HNUMBER")" value="" required><br> 
</div> 

<input id="sign-up-submit" type="submit" value="$msg.get ("REGISTER_BUTTON_REGISTER")"> 
</form> 
<script type="text/javascript" src="http://code.jquery.com/jquery- latest.min.js"></script> 
<script type="text/javascript" src="../js/main.js"> 
</script> 

答えて

0

すべてのjavascriptの必要はありません。受け取った値を(たとえばセッション属性に)格納するだけで、フォームを再びレンダリングするときに利用できるようにするだけです。

たとえば、register_paramsのセッション属性名の下にPOSTパラメータをマップとして保存するとします。

Velocity Toolsを使用すると、テンプレート内からセッション属性が表示されます。そうでない場合は、レンダリングの前にVelocityコンテキストにregister_paramsを入れるという余分な作業があります。

は、その後、あなたのテンプレートで、あなただけしなければならない。

<input type="text" name="firstname" placeholder="$msg.get("REGISTER_LABEL_FIRSTNAME")" value="$!register_params.firstname" required> 

$!register_params.firstnameサイレント表記を使用しているので、それがnullの場合、それは何も表示されません。

関連する問題

 関連する問題