틀:폼: 두 판 사이의 차이

리버티게임, 모두가 만들어가는 자유로운 게임
잔글편집 요약 없음
편집 요약 없음
1번째 줄: 1번째 줄:
{{플러그인X|임시}}
<includeonly><onlyinclude><div class="ci-form-control" data-destination="{{{1|{{{페이지}}}}}}" style="display:none"></div></onlyinclude></includeonly>
<includeonly><onlyinclude><div class="ci-form-control" data-destination="{{{1|{{{페이지}}}}}}" style="display:none"></div></onlyinclude></includeonly>
게임에서 사용하기 위해 사용자의 입력을 받는 양식문을 생성합니다. 입력한 내용은 이동된 페이지의 <nowiki>{{#urlget:변수명}}</nowiki>이나 {{CGI2|변수=변수명}}으로 호출 가능합니다.
게임에서 사용하기 위해 사용자의 입력을 받는 양식문을 생성합니다. 입력한 내용은 이동된 페이지의 <nowiki>{{#urlget:변수명}}</nowiki>이나 {{CGI2|변수=변수명}}으로 호출 가능합니다.
36번째 줄: 38번째 줄:
== 도보시오 ==
== 도보시오 ==
* [https://www.mediawiki.org/wiki/Extension:CIForms Extension:CIForms]
* [https://www.mediawiki.org/wiki/Extension:CIForms Extension:CIForms]
<pre>
$(".ci-form-control").toArray().forEach(function(formControlEl){
    var $this = $(formControlEl);
    var nextPagename = $this.data("destination")
        || new URL(location).searchParams.get("title")
        || location.href.replace(/\/[^\/]+\//,"");
    // 다음 위치에 있는 .ci-form 찾기
    var formEl = $this.nextAll().toArray().find(function(el){ return $(el).hasClass("ci_form") });
    // 다음 폼 찾을 수 없으면 종료
    if(!formEl) return;
    $(formEl).on("submit", function(e){
        // 폼 전송 막기
        e.preventDefault();
    })
})
</pre>

2023년 7월 13일 (목) 09:20 판

VisualEditor - Icon - programming-block.svg
플러그인 문서가 존재하지 않습니다.
새 플러그인 문서를 만드시려면 여기를 클릭하세요.


게임에서 사용하기 위해 사용자의 입력을 받는 양식문을 생성합니다. 입력한 내용은 이동된 페이지의 {{#urlget:변수명}}이나 0으로 호출 가능합니다.

상세

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

사용법

{{:틀:폼|이동할 위치}}

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

예시

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

TODO

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

도보시오