Przeglądaj źródła

JSON.stringify 물음표(?) 여러 개 시 문법 오류 발생. 1개로 replace 처리

gagamel 5 lat temu
rodzic
commit
154e4b2992
1 zmienionych plików z 19 dodań i 0 usunięć
  1. 19 0
      src/main/webapp/ux/plugins/gaga/gaga.validation.js

+ 19 - 0
src/main/webapp/ux/plugins/gaga/gaga.validation.js

@@ -495,6 +495,20 @@ var gagajf = {
 			}
 		});
 	},
+	
+	/**
+	 * formId의 input의 값에 ?가 여러 개인 경우 ? 한 개로 대체한다.
+	 * 사용) gagajf.replaceOneQuestionMark('#registerForm');
+	 */
+	replaceOneQuestionMark : function(formId) {
+		$(formId).find('input').each(function(idx, el) {
+			$(el).val($(el).val().replace(/\?+/gi, "?"));
+		});
+		
+		$(formId).find('textarea').each(function(idx, el) {
+			$(el).val($(el).val().replace(/\?+/gi, "?"));
+		});
+	},
 
 	/**
 	 * Progress bar
@@ -531,6 +545,9 @@ var gagajf = {
 	ajaxFormSubmit : function(actionUrl, formId, callbackFn) {
 		// comma(,) 제거
 		gagajf.removeCommaAtNumberFormattedInput(formId);
+		
+		// 물음표(?) 여러 개를 1개로 대체
+		gagajf.replaceOneQuestionMark(formId);
 
 		var jsonData = JSON.stringify($(formId).serializeObject());
 		
@@ -600,6 +617,7 @@ var gagajf = {
 	 * 모든 ajax 처리는 이것으로 진행한다.
 	 * <pre>
 	 *     gagajf.removeCommaAtNumberFormattedInput('#registerForm'); // comma(,) 제거
+	 *     gagajf.replaceOneQuestionMark('#registerForm'); // 물음표(?) 여러개를 1개로 대체
 	 *     var jsonData = JSON.stringify($('#registerForm').serializeObject());
 	 *     gagajf.ajaxJsonSubmit('/rest/commoncode/create', jsonData, jfRegisterSaveCallback);
 	 * </pre>
@@ -754,6 +772,7 @@ var gagajf = {
 	 * 대용량 json 데이터를 가지고 ajax 방식으로 submit 한다.
 	 * <pre>
 	 *     gagajf.removeCommaAtNumberFormattedInput('#registerForm'); // comma(,) 제거
+	 *     gagajf.replaceOneQuestionMark('#registerForm'); // 물음표(?) 여러개를 1개로 대체
 	 *     var jsonData = JSON.stringify($('#registerForm').serializeObject());
 	 *     gagajf.ajaxJsonBatchSubmit('/rest/commoncode/create', jsonData, 1, 3, jfRegisterSaveCallback);
 	 * </pre>