문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
javascript:jquery:form [2011/04/25 20:06] kwon37xi |
javascript:jquery:form [2016/09/02 13:27] (현재) kwon37xi [jQuery Form Plugin] |
||
|---|---|---|---|
| 줄 2: | 줄 2: | ||
| ===== checkbox/ | ===== checkbox/ | ||
| - | * $(" | + | * $(" |
| * $(" | * $(" | ||
| - | * $(" | + | * $(" |
| + | * $(" | ||
| + | * $(" | ||
| + | * $(" | ||
| ===== jQuery Form Plugin ===== | ===== jQuery Form Plugin ===== | ||
| 줄 11: | 줄 13: | ||
| * http:// | * http:// | ||
| * Ajax 로 Form을 submit 할 수 있다. | * Ajax 로 Form을 submit 할 수 있다. | ||
| + | * $.ajaxForm() 의 **beforeSubmit** 함수 내에서 폼의 내용을 바꾸는 것은 제대로 작동하지 않는다. 이럴 때는 폼의 내용을 바꾼뒤 $.ajaxSubmit()을 호출하는 것이 낫다. | ||
| + | * [[http:// | ||
| + | function(){ return $(' | ||
| + | </ | ||
| + | * form의 submit 버튼을 ''< | ||
| + | ==== AjaxForm으로 파일 업로드 ==== | ||
| - | ==== FileUpload ==== | + | |
| - | + | ||
| - | | + | |
| * iframe: true 옵션을 줄 경우, 그 결과로 JSON을 그냥 받을 수 없다. Firefox/ | * iframe: true 옵션을 줄 경우, 그 결과로 JSON을 그냥 받을 수 없다. Firefox/ | ||
| * 회피법 | * 회피법 | ||
| 줄 22: | 줄 28: | ||
| </ | </ | ||
| * 해당 결과를 jQuery.parseJSON(text); | * 해당 결과를 jQuery.parseJSON(text); | ||
| + | |||
| + | === iframe 옵션과 Cross Domain 문제 === | ||
| + | * '' | ||
| + | Unsafe JavaScript attempt to access frame with URL XXX from frame with URL YYY. Domains, protocols and ports must match. | ||
| + | </ | ||
| + | * 비록 document.domain 설정이 iframe 도메인을 포함한다고 하더라도 두 값이 정확히 동일하지 않으면 작동하지 않게 된다. | ||
| + | * 해결책 | ||
| + | * iframe의 결과를 HTML로 하고, 해당 HTML의 < | ||
| + | * 호출자는 응답 결과를 text나 json이 아닌 **html**로 지정하고, | ||
| + | * 혹은, 응답 결과를 JSONP로 간주하고, | ||
| + | * [[http:// | ||
| + | |||
| + | ===== Enter 키로 Form submit 되는 것 막기 ===== | ||
| + | * [[http:// | ||
| + | |||
| + | <code javascript> | ||
| + | $(" | ||
| + | if (e.keyCode === 13) { | ||
| + | //원하는 작업들.. | ||
| + | return false; | ||
| + | } | ||
| + | }); | ||
| + | </ | ||
| + | |||