2016-11-03 2 views
0

Так что я делаю сайт и сделал форму для регистрации учетной записи. Все, что происходит во время регистрации, будет обрабатываться частью java/velocity.Пытается сохранить значения формы с шаблоном скорости

В рамках регистрации U должен дважды ввести пароль, и я уже проверил проверку, но теперь, когда этого не происходит, я хочу сохранить значения, которые пользователь вводит в полях.

Теперь мой вопрос: я делаю это с помощью 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. Вам просто нужно сохранить полученные значения (например, в атрибуте сеанса), чтобы они были доступны при повторной визуализации формы.

Скажите, что вы сохраняете параметры POST в виде карты под именем атрибута сеанса register_params.

Если вы используете Инструменты Velocity, тогда атрибуты сеанса будут видны изнутри шаблонов, в противном случае у вас есть дополнительная работа по помещению register_params в контекст Velocity перед рендерингом.

Затем в шаблоне, вы просто должны сделать:

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

Поскольку $!register_params.firstnameиспользует бесшумную обозначения, она ничего не отображается, если она равна нулю.