sowon4187 4 лет назад
Родитель
Сommit
99e4f62316

+ 20 - 12
src/main/webapp/WEB-INF/views/mob/planning/PlanningEventPollFormMob.html

@@ -46,7 +46,7 @@
 													</th:block>
 													<th:block th:unless="${pollData.pollQval1 != '기타'}">
 														<input type="radio" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="'rdi-1-'+${pollData.pollQsq}" th:value="${pollData.pollQval1}" class="etc"><label th:for="'rdi-1-'+${pollData.pollQsq}"><span th:text="${pollData.pollQval1}"></span></label>
-														<textarea th:name="'etc_input_'+${pollData.pollQsq}" id="" class="etc_input" ></textarea>
+														<textarea th:name="'etc_input_'+${pollData.pollQsq}" onkeyup="chkChar(this)" id="" class="etc_input" ></textarea>
 													</th:block>
 												</li>
 												<li th:if="${pollData.pollQval2 != null && pollData.pollQval2 != ''}">
@@ -55,7 +55,7 @@
 													</th:block>
 													<th:block th:unless="${pollData.pollQval2 != '기타'}">
 														<input type="radio" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="'rdi-2-'+${pollData.pollQsq}" th:value="${pollData.pollQval2}" class="etc"><label th:for="'rdi-2-'+${pollData.pollQsq}"><span th:text="${pollData.pollQval2}"></span></label>
-														<textarea th:name="'etc_input_'+${pollData.pollQsq}" id="" class="etc_input" ></textarea>
+														<textarea th:name="'etc_input_'+${pollData.pollQsq}"onkeyup="chkChar(this)" id="" class="etc_input" ></textarea>
 													</th:block>
 												</li>
 												<li th:if="${pollData.pollQval3 != null && pollData.pollQval3 != ''}">
@@ -64,7 +64,7 @@
 													</th:block>
 													<th:block th:unless="${pollData.pollQval3 != '기타'}">
 														<input type="radio" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="'rdi-3-'+${pollData.pollQsq}" th:value="${pollData.pollQval3}" class="etc"><label th:for="'rdi-3-'+${pollData.pollQsq}"><span th:text="${pollData.pollQval3}"></span></label>
-														<textarea th:name="'etc_input_'+${pollData.pollQsq}" id="" class="etc_input" ></textarea>
+														<textarea th:name="'etc_input_'+${pollData.pollQsq}" onkeyup="chkChar(this)" id="" class="etc_input" ></textarea>
 													</th:block>
 												</li>
 												<li th:if="${pollData.pollQval4 != null && pollData.pollQval4 != ''}">
@@ -73,7 +73,7 @@
 													</th:block>
 													<th:block th:unless="${pollData.pollQval4 != '기타'}">
 														<input type="radio" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="'rdi-4-'+${pollData.pollQsq}" th:value="${pollData.pollQval4}" class="etc"><label th:for="'rdi-4-'+${pollData.pollQsq}"><span th:text="${pollData.pollQval4}"></span></label>
-														<textarea th:name="'etc_input_'+${pollData.pollQsq}" id="" class="etc_input" > </textarea>
+														<textarea th:name="'etc_input_'+${pollData.pollQsq}" onkeyup="chkChar(this)" id="" class="etc_input" > </textarea>
 													</th:block>
 												</li>
 												<li th:if="${pollData.pollQval5 != null && pollData.pollQval5 != ''}">
@@ -82,7 +82,7 @@
 													</th:block>
 													<th:block th:unless="${pollData.pollQval5 != '기타'}">
 														<input type="radio" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="'rdi-5-'+${pollData.pollQsq}" th:value="${pollData.pollQval5}" class="etc"><label th:for="'rdi-5-'+${pollData.pollQsq}"><span th:text="${pollData.pollQval5}"></span></label>
-														<textarea th:name="'etc_input_'+${pollData.pollQsq}" id="" class="etc_input" ></textarea>
+														<textarea th:name="'etc_input_'+${pollData.pollQsq}" onkeyup="chkChar(this)" id="" class="etc_input" ></textarea>
 													</th:block>
 												</li>
 												<li th:if="${pollData.pollQval6 != null && pollData.pollQval6 != ''}">
@@ -91,7 +91,7 @@
 													</th:block>
 													<th:block th:unless="${pollData.pollQval6 != '기타'}">
 														<input type="radio" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="'rdi-6-'+${pollData.pollQsq}" th:value="${pollData.pollQval6}" class="etc"><label th:for="'rdi-6-'+${pollData.pollQsq}"><span th:text="${pollData.pollQval6}"></span></label>
-														<textarea th:name="'etc_input_'+${pollData.pollQsq}" id="" class="etc_input" ></textarea>
+														<textarea th:name="'etc_input_'+${pollData.pollQsq}" onkeyup="chkChar(this)" id="" class="etc_input" ></textarea>
 													</th:block>
 												</li>
 												<li th:if="${pollData.pollQval7 != null && pollData.pollQval7 != ''}">
@@ -100,7 +100,7 @@
 													</th:block>
 													<th:block th:unless="${pollData.pollQval7 != '기타'}">
 														<input type="radio" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="'rdi-7-'+${pollData.pollQsq}" th:value="${pollData.pollQval7}" class="etc"><label th:for="'rdi-7-'+${pollData.pollQsq}"><span th:text="${pollData.pollQval7}"></span></label>
-														<textarea th:name="'etc_input_'+${pollData.pollQsq}" id="" class="etc_input" ></textarea>
+														<textarea th:name="'etc_input_'+${pollData.pollQsq}" onkeyup="chkChar(this)" id="" class="etc_input" ></textarea>
 													</th:block>
 												</li>
 												<li th:if="${pollData.pollQval8 != null && pollData.pollQval8 != ''}">
@@ -109,7 +109,7 @@
 													</th:block>
 													<th:block th:unless="${pollData.pollQval8 != '기타'}">
 														<input type="radio" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="'rdi-8-'+${pollData.pollQsq}" th:value="${pollData.pollQval8}" class="etc"><label th:for="'rdi-8-'+${pollData.pollQsq}"><span th:text="${pollData.pollQval8}"></span></label>
-														<textarea th:name="'etc_input_'+${pollData.pollQsq}" id="" class="etc_input" ></textarea>
+														<textarea th:name="'etc_input_'+${pollData.pollQsq}" onkeyup="chkChar(this)" id="" class="etc_input" ></textarea>
 													</th:block>
 												</li>
 												<li th:if="${pollData.pollQval9 != null && pollData.pollQval9 != ''}">
@@ -118,7 +118,7 @@
 													</th:block>
 													<th:block th:unless="${pollData.pollQval9 != '기타'}">
 														<input type="radio" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="'rdi-9-'+${pollData.pollQsq}" th:value="${pollData.pollQval9}"class="etc"><label th:for="'rdi-9-'+${pollData.pollQsq}"><span th:text="${pollData.pollQval9}"></span></label>
-														<textarea th:name="'etc_input_'+${pollData.pollQsq}" id="" class="etc_input" ></textarea>
+														<textarea th:name="'etc_input_'+${pollData.pollQsq}" onkeyup="chkChar(this)" id="" class="etc_input" ></textarea>
 													</th:block>
 												</li>
 												<li th:if="${pollData.pollQval10 != null && pollData.pollQval10 != ''}">
@@ -127,7 +127,7 @@
 													</th:block>
 													<th:block th:unless="${pollData.pollQval10 != '기타'}">
 														<input type="radio" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="'rdi-10-'+${pollData.pollQsq}" th:value="${pollData.pollQval10}" class="etc"><label th:for="'rdi-10-'+${pollData.pollQsq}"><span th:text="${pollData.pollQval10}"></span></label>
-														<textarea th:name="'etc_input_'+${pollData.pollQsq}" id="" class="etc_input" ></textarea>
+														<textarea th:name="'etc_input_'+${pollData.pollQsq}" onkeyup="chkChar(this)" id="" class="etc_input" ></textarea>
 													</th:block>
 												</li>
 											</ul>
@@ -177,14 +177,14 @@
 								<div class="survey_row q3" th:if="${pollData.pollQtype == '40'}">
 									<h4><span class="question" th:text="'Q'+${pollStat.index+1}+'.'"></span>[[${pollData.pollQtitle}]]</h4>
 									<div class="answer">
-										<textarea class="doc_ans" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="${pollData.pollQsq+'_'+(pollStat.index+1)}" placeholder="1,000자 이내로 입력해 주세요." style="resize: none;"></textarea>
+										<textarea class="doc_ans" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" onkeyup="chkChar(this)" th:id="${pollData.pollQsq+'_'+(pollStat.index+1)}" placeholder="1,000자 이내로 입력해 주세요." style="resize: none;"></textarea>
 										<p class="txt_cnt"><span id="ans_cnt" class="c_primary">0</span>/1,000</p>
 									</div>
 								</div>
 								<div class="survey_row q4" th:if="${pollData.pollQtype == '30'}">
 								<h4><span class="question" th:text="'Q'+${pollStat.index+1}+'.'"></span>[[${pollData.pollQtitle}]]</h4>
 									<div class="answer">
-										<textarea class="q4_ans" name="" id="" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="${pollData.pollQsq+'_'+(pollStat.index+1)}"></textarea>
+										<textarea class="q4_ans" name=""  onkeyup="chkChar(this)" id="" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="${pollData.pollQsq+'_'+(pollStat.index+1)}"></textarea>
 									</div>
 							
 								</div>
@@ -334,6 +334,14 @@ var fnSubmitPoll = function () {
 	})
 }
 
+	function chkChar(obj){
+	    var RegExp = /[\{\}\[\]\/?.,;:|\)*~`!^\-_+┼<>@\#$%&\'\"\\\(\=]/gi;	//정규식 구문
+	    if (RegExp.test(obj.value)) {
+	      // 특수문자 모두 제거    
+	      obj.value = obj.value.replace(RegExp , '');
+	    }
+	}
+	
 $(document).ready(function(){
 	//Q3 글자 수 카운트
 	$('.doc_ans').keyup(function (e){

+ 21 - 14
src/main/webapp/WEB-INF/views/web/planning/PlanningEventPollFormWeb.html

@@ -68,7 +68,7 @@
 															</th:block>
 															<th:block th:unless="${pollData.pollQval1 != '기타'}">
 																<input type="radio" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="'rdi-1-'+${pollData.pollQsq}" th:value="${pollData.pollQval1}" class="etc_radio"><label th:for="'rdi-1-'+${pollData.pollQsq}"><span th:text="${pollData.pollQval1}"></span></label>
-																<input type="text" th:name="'etc_input_'+${pollData.pollQsq}" class="form_control etc_input" />
+																<input type="text" th:name="'etc_input_'+${pollData.pollQsq}" onkeyup="chkChar(this)" class="form_control etc_input" />
 															</th:block>
 														</li>
 														<li th:if="${pollData.pollQval2 != null && pollData.pollQval2 != ''}">
@@ -77,7 +77,7 @@
 															</th:block>
 															<th:block th:unless="${pollData.pollQval2 != '기타'}">
 																<input type="radio" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="'rdi-2-'+${pollData.pollQsq}" th:value="${pollData.pollQval2}" class="etc_radio"><label th:for="'rdi-2-'+${pollData.pollQsq}"><span th:text="${pollData.pollQval2}"></span></label>
-																<input type="text" th:name="'etc_input_'+${pollData.pollQsq}" class="form_control etc_input" />
+																<input type="text" th:name="'etc_input_'+${pollData.pollQsq}" onkeyup="chkChar(this)" class="form_control etc_input" />
 															</th:block>
 														</li>
 														<li th:if="${pollData.pollQval3 != null && pollData.pollQval3 != ''}">
@@ -86,7 +86,7 @@
 															</th:block>
 															<th:block th:unless="${pollData.pollQval3 != '기타'}">
 																<input type="radio" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="'rdi-3-'+${pollData.pollQsq}" th:value="${pollData.pollQval3}" class="etc_radio"><label th:for="'rdi-3-'+${pollData.pollQsq}"><span th:text="${pollData.pollQval3}"></span></label>
-																<input type="text" th:name="'etc_input_'+${pollData.pollQsq}" class="form_control etc_input" />
+																<input type="text" th:name="'etc_input_'+${pollData.pollQsq}"onkeyup="chkChar(this)"  class="form_control etc_input" />
 															</th:block>
 														</li>
 														<li th:if="${pollData.pollQval4 != null && pollData.pollQval4 != ''}">
@@ -95,7 +95,7 @@
 															</th:block>
 															<th:block th:unless="${pollData.pollQval4 != '기타'}">
 																<input type="radio" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="'rdi-4-'+${pollData.pollQsq}" th:value="${pollData.pollQval4}" class="etc_radio"><label th:for="'rdi-4-'+${pollData.pollQsq}"><span th:text="${pollData.pollQval4}"></span></label>
-																<input type="text" th:name="'etc_input_'+${pollData.pollQsq}" class="form_control etc_input" />
+																<input type="text" th:name="'etc_input_'+${pollData.pollQsq}" onkeyup="chkChar(this)" class="form_control etc_input" />
 															</th:block>
 														</li>
 														<li th:if="${pollData.pollQval5 != null && pollData.pollQval5 != ''}">
@@ -104,7 +104,7 @@
 															</th:block>
 															<th:block th:unless="${pollData.pollQval5 != '기타'}">
 																<input type="radio" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="'rdi-5-'+${pollData.pollQsq}" th:value="${pollData.pollQval5}" class="etc_radio"><label th:for="'rdi-5-'+${pollData.pollQsq}"><span th:text="${pollData.pollQval5}"></span></label>
-																<input type="text" th:name="'etc_input_'+${pollData.pollQsq}" class="form_control etc_input" />
+																<input type="text" th:name="'etc_input_'+${pollData.pollQsq}" onkeyup="chkChar(this)" class="form_control etc_input" />
 															</th:block>
 														</li>
 														<li th:if="${pollData.pollQval6 != null && pollData.pollQval6 != ''}">
@@ -113,7 +113,7 @@
 															</th:block>
 															<th:block th:unless="${pollData.pollQval6 != '기타'}">
 																<input type="radio" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="'rdi-6-'+${pollData.pollQsq}" th:value="${pollData.pollQval6}" class="etc_radio"><label th:for="'rdi-6-'+${pollData.pollQsq}"><span th:text="${pollData.pollQval6}"></span></label>
-																<input type="text" th:name="'etc_input_'+${pollData.pollQsq}" class="form_control etc_input" />
+																<input type="text" th:name="'etc_input_'+${pollData.pollQsq}" onkeyup="chkChar(this)" class="form_control etc_input" />
 															</th:block>
 														</li>
 														<li th:if="${pollData.pollQval7 != null && pollData.pollQval7 != ''}">
@@ -122,7 +122,7 @@
 															</th:block>
 															<th:block th:unless="${pollData.pollQval7 != '기타'}">
 																<input type="radio" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="'rdi-7-'+${pollData.pollQsq}" th:value="${pollData.pollQval7}" class="etc_radio"><label th:for="'rdi-7-'+${pollData.pollQsq}"><span th:text="${pollData.pollQval7}"></span></label>
-																<input type="text" th:name="'etc_input_'+${pollData.pollQsq}" class="form_control etc_input" />
+																<input type="text" th:name="'etc_input_'+${pollData.pollQsq}" onkeyup="chkChar(this)" class="form_control etc_input" />
 															</th:block>
 														</li>
 														<li th:if="${pollData.pollQval8 != null && pollData.pollQval8 != ''}">
@@ -131,7 +131,7 @@
 															</th:block>
 															<th:block th:unless="${pollData.pollQval8 != '기타'}">
 																<input type="radio" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="'rdi-8-'+${pollData.pollQsq}" th:value="${pollData.pollQval8}" class="etc_radio"><label th:for="'rdi-8-'+${pollData.pollQsq}"><span th:text="${pollData.pollQval8}"></span></label>
-																<input type="text" th:name="'etc_input_'+${pollData.pollQsq}" class="form_control etc_input"/>
+																<input type="text" th:name="'etc_input_'+${pollData.pollQsq}" onkeyup="chkChar(this)" class="form_control etc_input"/>
 															</th:block>
 														</li>
 														<li th:if="${pollData.pollQval9 != null && pollData.pollQval9 != ''}">
@@ -140,7 +140,7 @@
 															</th:block>
 															<th:block th:unless="${pollData.pollQval9 != '기타'}">
 																<input type="radio" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="'rdi-9-'+${pollData.pollQsq}" th:value="${pollData.pollQval9}"class="etc_radio"><label th:for="'rdi-9-'+${pollData.pollQsq}"><span th:text="${pollData.pollQval9}"></span></label>
-																<input type="text" th:name="'etc_input_'+${pollData.pollQsq}" class="form_control etc_input" />
+																<input type="text" th:name="'etc_input_'+${pollData.pollQsq}" onkeyup="chkChar(this)" class="form_control etc_input" />
 															</th:block>
 														</li>
 														<li th:if="${pollData.pollQval10 != null && pollData.pollQval10 != ''}">
@@ -149,7 +149,7 @@
 															</th:block>
 															<th:block th:unless="${pollData.pollQval10 != '기타'}">
 																<input type="radio" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="'rdi-10-'+${pollData.pollQsq}" th:value="${pollData.pollQval10}" class="etc_radio"><label th:for="'rdi-10-'+${pollData.pollQsq}"><span th:text="${pollData.pollQval10}"></span></label>
-																<input type="text" th:name="'etc_input_'+${pollData.pollQsq}" class="form_control etc_input" />
+																<input type="text" th:name="'etc_input_'+${pollData.pollQsq}" onkeyup="chkChar(this)" class="form_control etc_input" />
 															</th:block>
 														</li>
 													</ul>
@@ -190,12 +190,12 @@
 												</th:block>
 												<th:block th:if="${pollData.pollQtype == '30'}">
 													<div class="input_wrap">
-														<input type="text" class="form_control" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="${pollData.pollQsq+'_'+(pollStat.index+1)}" />
+														<input type="text" class="form_control" onkeyup="chkChar(this)" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="${pollData.pollQsq+'_'+(pollStat.index+1)}" />
 													</div>
 												</th:block>
 												<th:block th:if="${pollData.pollQtype == '40'}">
 													<div class="input_wrap">
-														<textarea class="doc_ans" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" th:id="${pollData.pollQsq+'_'+(pollStat.index+1)}" placeholder="1,000자 이내로 입력해 주세요." style="resize: none;"></textarea>
+														<textarea class="doc_ans" th:name="${pollData.pollQsq+'_'+(pollStat.index+1)}" onkeyup="chkChar(this)" th:id="${pollData.pollQsq+'_'+(pollStat.index+1)}" placeholder="1,000자 이내로 입력해 주세요." style="resize: none;"></textarea>
 														<p class="txt_cnt">
 															<span id="ans_cnt" class="ans_cnt">(<em class="c_primary">0</em>/1000자)</span>
 														</p>
@@ -310,10 +310,17 @@ var fnSubmitPoll = function () {
 			});
 		}
 	})
-	
+}
 
-	
+function chkChar(obj){
+    var RegExp = /[\{\}\[\]\/?.,;:|\)*~`!^\-_+┼<>@\#$%&\'\"\\\(\=]/gi;	//정규식 구문
+    if (RegExp.test(obj.value)) {
+      // 특수문자 모두 제거    
+      obj.value = obj.value.replace(RegExp , '');
+    }
 }
+
+
 $(document).ready( function() {
 	
 	//SNS 공유 버튼 토글