2016-11-03 1 views
0

그래서 웹 사이트를 만들고 계정을 등록하기위한 양식을 만들었습니다. 등록 중에 발생하는 모든 것은 java/velocity 부분에 의해 처리됩니다.속도 템플릿을 사용하여 양식의 값을 유지하려고 시도합니다.

등록 기간에 두 번 비밀 번호를 입력해야하며 이미 확인을했는데 그럴 때마다 사용자가 필드에 입력 한 값을 유지하려고합니다.

이제 제 질문은 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

자바 스크립트가 필요하지 않습니다. 양식을 다시 렌더링 할 때 사용할 수 있도록 수신 된 값 (예 : 세션 속성)을 저장하면됩니다.

register_params 세션 속성 이름 아래에 POST 매개 변수를 맵으로 저장한다고 가정 해 보겠습니다.

Velocity Tools를 사용하면 템플릿 내부에서 세션 속성을 볼 수 있습니다. 그렇지 않으면 렌더링 전에 Velocity 컨텍스트에 register_params을 넣을 추가 작업이 있습니다. null의 경우는 아무것도 표시되지 않습니다, $!register_params.firstname 이후

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

침묵 표기법을 사용

그런 다음 템플릿에서, 당신은해야한다.

관련 문제