틀:폼: 두 판 사이의 차이

리버티게임, 모두가 만들어가는 자유로운 게임
39번째 줄: 39번째 줄:
사용자에게 텍스트로 입력을 받고 도착지 페이지에 #ifeq로 사용자가 입력한 값과 예상한 값을 비교하여 다른 결과를 도출 할 수 있습니다.
사용자에게 텍스트로 입력을 받고 도착지 페이지에 #ifeq로 사용자가 입력한 값과 예상한 값을 비교하여 다른 결과를 도출 할 수 있습니다.
{{예시|
{{예시|
{{{{FULLPAGENAME}}|{{{{:FULLPAGENAME}}/예시1}}}}
<nowiki>{{</nowiki>{{FULLPAGENAME}}<nowiki>|{{</nowiki>{{FULLPAGENAME}}<nowiki>/예시1}}}}
{{#CI form: title = 아침에 네발 점심에 두발 저녁에 세발이며 세상에서 가장 멍청한 것은?
  {{#CI form: title = 아침에 네발 점심에 두발 저녁에 세발이며 세상에서 가장 멍청한 것은?
  | {{:{{FULLPAGENAME}}/라벨|answer|정답}} [text] *
    | {{:</nowiki>{{FULLPAGENAME}}<nowiki>/라벨|answer|정답}} [text] *
}}
  }}</nowiki>
|
|
   {{:{{FULLPAGENAME}}|{{:FULLPAGENAME/예시1}} }}
   {{{{FULLPAGENAME}}|{{{{:FULLPAGENAME}}/예시1}}}}
   {{#CI form: title = 아침에 네발 점심에 두발 저녁에 세발이며 세상에서 가장 멍청한 것은?
   {{#CI form: title = 아침에 네발 점심에 두발 저녁에 세발이며 세상에서 가장 멍청한 것은?
     | {{:{{FULLPAGENAME}}/라벨|answer|정답}} [text] *
     | {{:{{FULLPAGENAME}}/라벨|answer|정답}} [text] *

2023년 7월 18일 (화) 17:54 판

VisualEditor - Icon - programming-block.svg
플러그인 문서가 존재하지 않습니다.
새 플러그인 문서를 만드시려면 여기를 클릭하세요.
하고싶은말을 적어주세요.
  • 메세지 :

사용자의 입력을 받을 수 있는 양식문을 생성합니다.

사용법

보다 실질적인 이해를 위해, 복잡한 사용법을 설명을 이해하기 보다는 아래 예시문단의 내용을 낙서장 붙여넣어 실제 결과를 확인하는것을 추천드립니다.

{{틀:폼}}

{{:틀:폼|이동할 위치(기본값 현재)|보존=보존여부(기본값 false)}}

CI Form을 사용하기 전에 이 틀을 선언하고 이동할 위치를 지정합니다. 특정 위치가 지정되지 않으면 현재 문서로 이동하게 됩니다.

{{틀:폼/라벨}}

{{{{FULLPAGENAME}}/라벨|파라미터 키|파라미터 표시될 값}}

CI Form 파서함수에서 표시되는 텍스트 값과 키 값을 분리할 수 있습니다.

이렇게 입력된 변수는 이동된 페이지의 {{#urlget:변수명}}이나 0으로 호출 가능합니다.

예시

초기 {{CGI}} 값을 위한 사용자 입력 받기

CGI 틀도 URL 매개 변수를 사용하기 때문에 'offset'이라는 키 값으로 CGI 틀의 출력 값을 변경할 수 있습니다. 아래 예시는 CGI 게임에서 사용되는 변수 값을 변경하는 방법을 보여줍니다.

code_blocks 코드

{{틀:폼|백괴복권/길}} {{#CI form: title = 백괴복권 치트 | {{틀:폼/라벨|offset|초기 금액}} [number] * }}

code
낙서장에서 확인
description 결과
백괴복권 치트

텍스트를 입력받아 퀴즈문제 내기

사용자에게 텍스트로 입력을 받고 도착지 페이지에 #ifeq로 사용자가 입력한 값과 예상한 값을 비교하여 다른 결과를 도출 할 수 있습니다.

code_blocks 코드
{{틀:폼|{{틀:폼/예시1}}}}
  {{#CI form: title = 아침에 네발 점심에 두발 저녁에 세발이며 세상에서 가장 멍청한 것은?
    | {{:틀:폼/라벨|answer|정답}} [text] *
  }}
code
낙서장에서 확인
description 결과
아침에 네발 점심에 두발 저녁에 세발이며 세상에서 가장 멍청한 것은?

선택지에서 사용자에게 입력받기

셀렉트박스나 라디오박스로 선택지를 고르게 할 수 있습니다.

code_blocks 코드
code
낙서장에서 확인
description 결과
대충 라디오박스로 액션 파라미터 손대는 예시
code_blocks 코드
code
낙서장에서 확인
description 결과
대충 셀렉트박스로 나라리스트 받아오는 예시

체크박스로 입력받기

다중선택 가능한 여러개의 선택지를 제시해 쉼표로 구분된 문자열로 입력 받을 수 있습니다.

code_blocks 코드
code
낙서장에서 확인
description 결과
예시4

기타 예시

텍스트 박스 외에도 여러값을 입력 받을 수 있습니다. 기타 다양한 예시에 대해서는 도보시오의 위키미디어 링크를 참조 해 주세요.

게임
선택할 직업 *
  • 전사
  • 마법사
  • 버스기사
선택할 특성 (2개 선택 가능)
  • 회복
  • 헤이스트
  • 경험치상승
  • 공격력증가
  • 공격력증가
상태 메세지(최대 1000자)
0/1000 characters
다음 행동

상세

이 틀은 사용자의 입력을 받아 처리하는 기존의 확장기능 파서함수 #CI를 자바스크립트로 래핑해주는 역할을 맡습니다. #CIForm의 기존 기능은 받은 데이터를 이메일로 보내거나 사이트 db로 전송하는 용도로 쓰이는데, 리버티게임에서는 해당 용도로 쓰일 일이 적으니 CGI와 CGI2와 호환되게끔 바꿔주는 틀입니다. 입력된 폼의 내용은 현재 SearchParams에 추가되거나 변경되어 다음 페이지로 전송합니다.

TODO

  • 스크립트 만들기
  • action 파라미터 손댈 시 경고창 표시

도보시오