틀:폼: 두 판 사이의 차이
편집 요약 없음 |
|||
40번째 줄: | 40번째 줄: | ||
{{플러그인X|사용자:BANIP/틀:폼/임시}} | {{플러그인X|사용자:BANIP/틀:폼/임시}} | ||
<includeonly><onlyinclude><div class="ci-form-control" data-destination="{{{1|{{{페이지}}}}}}" style="display:none" data-keep-params="{{{보존|}}}"></div></onlyinclude></includeonly> | <includeonly><onlyinclude><div class="ci-form-control" data-destination="{{{1|{{{페이지}}}}}}" style="display:none" data-keep-params="{{{보존|}}}"></div></onlyinclude></includeonly> | ||
{{:{{FULLPAGENAME}}}} | |||
{{#CI form: title = 하고싶은말을 적어주세요. | |||
| {{:{{FULLPAGENAME}}/라벨|message|메세지}} [text] * | |||
}} | |||
* 메세지 : {{#urlget:message}} | |||
사용자의 입력을 받을 수 있는 양식문을 생성합니다. | |||
== 사용법 == | == 사용법 == | ||
52번째 줄: | 58번째 줄: | ||
CI Form 파서함수에서 표시되는 텍스트 값과 키 값을 분리할 수 있습니다. | CI Form 파서함수에서 표시되는 텍스트 값과 키 값을 분리할 수 있습니다. | ||
이렇게 입력된 변수는 이동된 페이지의 <nowiki>{{#urlget:변수명}}</nowiki>이나 {{CGI2|변수=변수명}}으로 호출 가능합니다. | |||
== 예시 == | == 예시 == | ||
=== 초기 {{[[틀:CGI|CGI]]}} 값을 위한 사용자 입력 받기 === | === 초기 {{[[틀:CGI|CGI]]}} 값을 위한 사용자 입력 받기 === | ||
68번째 줄: | 75번째 줄: | ||
=== 텍스트를 입력받아 퀴즈문제 내기 === | === 텍스트를 입력받아 퀴즈문제 내기 === | ||
도착지 페이지에 #ifeq로 사용자가 입력한 값과 예상한 값을 비교하여 다른 결과를 도출 할 수 있습니다. | 사용자에게 텍스트로 입력을 받고 도착지 페이지에 #ifeq로 사용자가 입력한 값과 예상한 값을 비교하여 다른 결과를 도출 할 수 있습니다. | ||
{{/예시| | |||
| | |||
{{:{{FULLPAGENAME}}|{{:FULLPAGENAME/예시1}} }} | |||
{{#CI form: title = 아침에 네발 점심에 두발 저녁에 세발이며 세상에서 가장 멍청한 것은? | |||
| {{:{{FULLPAGENAME}}/라벨|answer|정답}} [text] * | |||
}} | |||
}} | |||
=== 선택지에서 사용자에게 입력받기 === | |||
셀렉트박스나 라디오박스로 선택지를 고르게 할 수 있습니다. | |||
{{/예시| | |||
| | |||
{{:{{FULLPAGENAME}}|{{:FULLPAGENAME/예시2}} }} | |||
{{#CI form: title = 대충 라디오박스로 액션 파라미터 손대는 예시 | |||
}} | |||
}} | |||
{{/예시| | |||
| | |||
{{:{{FULLPAGENAME}}|{{:FULLPAGENAME/예시3}} }} | |||
{{#CI form: title = 대충 셀렉트박스로 나라리스트 받아오는 예시 | |||
}} | |||
}} | |||
=== 체크박스로 입력받기 === | |||
다중선택 가능한 여러개의 선택지를 제시해 쉼표로 구분된 문자열로 입력 받을 수 있습니다. | |||
{{/예시| | |||
| | |||
{{:{{FULLPAGENAME}}|{{:FULLPAGENAME/예시4}} }} | |||
{{#CI form: title = 예시4 | |||
}} | |||
}} | |||
=== 기타 예시 === | === 기타 예시 === | ||
텍스트 박스 외에도 여러값을 입력 받을 수 있습니다. 기타 다양한 예시에 대해서는 도보시오의 위키미디어 링크를 참조 해 주세요. | 텍스트 박스 외에도 여러값을 입력 받을 수 있습니다. 기타 다양한 예시에 대해서는 도보시오의 위키미디어 링크를 참조 해 주세요. | ||
{{:{{FULLPAGENAME}}|{{FULLPAGENAME}}/ | {{:{{FULLPAGENAME}}|{{FULLPAGENAME}}/예시5}} | ||
{{#CI form: title = 게임 | {{#CI form: title = 게임 | ||
| {{:{{FULLPAGENAME}}/라벨|name|게임에서 불릴 이름}} [] * | | {{:{{FULLPAGENAME}}/라벨|name|게임에서 불릴 이름}} [] * | ||
103번째 줄: | 145번째 줄: | ||
}} | }} | ||
== 상세 == | == 상세 == | ||
이 틀은 사용자의 입력을 받아 처리하는 기존의 확장기능 파서함수 #CI를 | 이 틀은 사용자의 입력을 받아 처리하는 기존의 확장기능 파서함수 #CI를 자바스크립트로 래핑해주는 역할을 맡습니다. #CIForm의 기존 기능은 받은 데이터를 이메일로 보내거나 사이트 db로 전송하는 용도로 쓰이는데, 리버티게임에서는 해당 용도로 쓰일 일이 적으니 CGI와 CGI2와 호환되게끔 바꿔주는 틀입니다. 입력된 폼의 내용은 현재 SearchParams에 추가되거나 변경되어 다음 페이지로 전송합니다. | ||
== TODO == | == TODO == | ||
* 스크립트 만들기 | * 스크립트 만들기 |
2023년 7월 15일 (토) 13:57 판
- 메세지 :
사용자의 입력을 받을 수 있는 양식문을 생성합니다.
사용법
보다 실질적인 이해를 위해, 복잡한 사용법을 설명을 이해하기 보다는 아래 예시문단의 내용을 낙서장 붙여넣어 실제 결과를 확인하는것을 추천드립니다.
{{틀:폼}}
{{:틀:폼|이동할 위치(기본값 현재)|보존=보존여부(기본값 false)}}
CI Form을 사용하기 전에 이 틀을 선언하고 이동할 위치를 지정합니다. 특정 위치가 지정되지 않으면 현재 문서로 이동하게 됩니다.
{{틀:폼/라벨}}
{{{{FULLPAGENAME}}/라벨|파라미터 키|파라미터 표시될 값}}
CI Form 파서함수에서 표시되는 텍스트 값과 키 값을 분리할 수 있습니다.
이렇게 입력된 변수는 이동된 페이지의 {{#urlget:변수명}}이나 0으로 호출 가능합니다.
예시
초기 {{CGI}} 값을 위한 사용자 입력 받기
CGI 틀도 URL 매개 변수를 사용하기 때문에 'offset'이라는 키 값으로 CGI 틀의 출력 값을 변경할 수 있습니다. 아래 예시는 CGI 게임에서 사용되는 변수 값을 변경하는 방법을 보여줍니다.
{{틀:폼|백괴복권/길}} {{#CI form: title = 백괴복권 치트 | {{틀:폼/라벨|offset|초기 금액}} [number] * }}
텍스트를 입력받아 퀴즈문제 내기
사용자에게 텍스트로 입력을 받고 도착지 페이지에 #ifeq로 사용자가 입력한 값과 예상한 값을 비교하여 다른 결과를 도출 할 수 있습니다.
선택지에서 사용자에게 입력받기
셀렉트박스나 라디오박스로 선택지를 고르게 할 수 있습니다.
체크박스로 입력받기
다중선택 가능한 여러개의 선택지를 제시해 쉼표로 구분된 문자열로 입력 받을 수 있습니다.
기타 예시
텍스트 박스 외에도 여러값을 입력 받을 수 있습니다. 기타 다양한 예시에 대해서는 도보시오의 위키미디어 링크를 참조 해 주세요.
상세
이 틀은 사용자의 입력을 받아 처리하는 기존의 확장기능 파서함수 #CI를 자바스크립트로 래핑해주는 역할을 맡습니다. #CIForm의 기존 기능은 받은 데이터를 이메일로 보내거나 사이트 db로 전송하는 용도로 쓰이는데, 리버티게임에서는 해당 용도로 쓰일 일이 적으니 CGI와 CGI2와 호환되게끔 바꿔주는 틀입니다. 입력된 폼의 내용은 현재 SearchParams에 추가되거나 변경되어 다음 페이지로 전송합니다.
TODO
- 스크립트 만들기
- action 파라미터 손댈 시 경고창 표시