방법 1. 코드 스니펫
여기서는 gf_readonly라는 클래스를 사용합니다. 임의로 다른 클래스를 사용해도 무방합니다. 본 문서의 코드는 Gravity Forms에서 제공하는 네이티브 코드입니다. 아래의 코드를 사용하고, 해당 필드에 ‘gf_readonly’라는 클래스를 넣으면 됩니다.
PHP 코드 스니펫
// '1'을 사용할 폼의 아이디로 변경합니다.
add_filter( 'gform_pre_render_1', 'add_readonly_script' );
function add_readonly_script( $form ) {
?>
<script type="text/javascript">
jQuery(document).on('gform_post_render', function(){
/* gf_readonly 클래스인 경우에만 적용됩니다. */
jQuery(".gf_readonly textarea").attr("readonly","readonly");
});
</script>
<?php
return $form;
}
Code language: JavaScript (javascript)
다른 텍스트 입력 필드
날자 선택 필드 처럼 HTML 입력이 텍스트 타입인 다른 필드에 사용합니다.
// '1'을 사용할 폼의 아이디로 변경합니다.
add_filter( 'gform_pre_render_1', 'add_readonly_script' );
function add_readonly_script( $form ) {
?>
<script type="text/javascript">
jQuery(document).on('gform_post_render', function(){
/* gf_readonly 클래스인 경우에만 적용됩니다. */
jQuery(".gf_readonly input").attr("readonly","readonly");
});
</script>
<?php
return $form;
}
Code language: JavaScript (javascript)
체크박스 필드
// '1'을 사용할 폼의 아이디로 변경합니다.
// see https://docs.gravityforms.com/gform_pre_render/
add_filter( 'gform_pre_render_1', 'add_readonly_script' );
function add_readonly_script( $form ) {
?>
<script type="text/javascript">
jQuery(document).on('gform_post_render', function(){
/* gf_readonly 클래스인 경우에만 적용됩니다. */
jQuery(".gf_readonly input[type=radio]").attr("onclick","return false;");
});
</script>
<?php
return $form;
}
Code language: JavaScript (javascript)
라디오 버튼 필드
// '1'을 사용할 폼의 아이디로 변경합니다.
// see https://docs.gravityforms.com/gform_pre_render/
add_filter( 'gform_pre_render_1', 'add_readonly_script' );
function add_readonly_script( $form ) {
?>
<script type="text/javascript">
jQuery(document).on('gform_post_render', function(){
/* gf_readonly 클래스인 경우에만 적용됩니다. */
jQuery(".gf_readonly input[type=radio]").attr("onclick","return false;");
});
</script>
<?php
return $form;
}
Code language: JavaScript (javascript)
방법 2. Gravity Forms Read Only
해당 기능을 제공하는 익스텐션입니다. Gravity Form의 네이티브 코드가 제공하지 않는 일부 써드 파티 필드(Populate Anything, Nested Forms 등)를 추가로 지원합니다.