게시판 검색 이 입력란을 작성하세요 수정 문의드립니다.

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
게시판 검색 이 입력란을 작성하세요 수정 문의드립니다.

QA

게시판 검색 이 입력란을 작성하세요 수정 문의드립니다.

답변 2

본문

안녕하세요 !

밑 이미지를 게시판 검색시 돋보기를 누르면 뜨는 이입력란을 작성하세요를  영문으로 수정하고

싶은데 경로를 아무리 뒤져봐도 찾지를 못하고있어요.

고수님들 제발 부탁드립니당  어느 파일에서 수정을 해야하는지 도와주세요 ㅠㅠㅠㅠ 

 

3034737284_1732354962.3037.png

이 질문에 댓글 쓰기 :

답변 2

브라우저 언어 설정에 따라 브라우저가 자동으로 띄우는 메시지라서, 그냥 두시면 됩니다

신비님 말씀대로 브라우저 메시지기때문에 하단검색 스크립트 jQuery(function($) 검색하셔서 이스크립트 안에다 다음과 같이 추가해보세요.


document.querySelector("form[name='fsearch']").addEventListener("submit", function(event) {
    var input = document.getElementById("stx");
    if (!input.value.trim()) {
        event.preventDefault();
        alert("이 입력란 을 작성하세요 이것을 원하는 영문으로 바꿔주세요");
        input.focus();
    }
});

※ 브라우저가 알아서 클라이언트 위치나 언어 설정에 따라 표시하기 때문에

일반적으로 placeholder가 아닌 '브라우저 기본 경고'를 수정할 필요는 없습니다.

  > 브라우저의 기본 경고 메시지인 "이 입력란을 작성하세요."는

     HTML의 required 속성으로 인해 나타나는 기본 메시지입니다.

  > 프로젝트 메인 페이지에서 브라우저 기본 경고 메시지를

    커스터마이징하는 방법이 있다고는 하나 적용하기가 쉽지 않습니다.


<form>
    <label for="search">검색어:</label>
    <input
        type="text"
        id="search"
        name="search"
        required
        oninvalid="this.setCustomValidity('검색어를 입력해야 검색이 가능합니다.')"
        oninput="this.setCustomValidity('')"
    >
    <button type="submit">검색</button>
</form>

 

placeholder를 개발자가 일관된 사용자 경험(특정 구문)으로 원하는 경우.

개발자가 지정한 메시지로 표시하는 예시들은 있습니다.

 

"""밑 이미지를 게시판 검색시 돋보기를 누르면 뜨는""" placeholder 수정

  > 링크(https://medif.gabia.io/bbs/board.php?bo_table=notice) 소스 수정으로는 불가 하고, . . .

 

  > 클라이언트가 특정 요청을 할 때, 

    브라우저에서 실행되는 HTML 문서 내에 포함되는

    Form의 placeholder 값을 변경하여 고정하는 것은 가능합니다.

 

※ 검색과 관련된 스킨 파일은 /skin/search/basic/search.skin.php 파일입니다.

  - 아래는 5.6.4 기본 소스를 변경한 코드입니다. - 대부분의 버전에 호환 됨.

  - 참고하여 수정하여 보세요.


<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// add_stylesheet('css 구문', 출력순서); 숫자가 작을수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$search_skin_url.'/style.css">', 0);
?>
<!-- 전체검색 시작 { -->
<form name="fsearch" onsubmit="return fsearch_submit(this);" method="get">
    <input type="hidden" name="srows" value="<?php echo $srows ?>">
    <fieldset id="sch_res_detail">
        <legend>상세검색</legend>
        <?php echo $group_select ?>
        <script>document.getElementById("gr_id").value = "<?php echo $gr_id ?>";</script>
        <label for="sfl" class="sound_only">검색조건</label>
        <select name="sfl" id="sfl">
            <option value="wr_subject||wr_content"<?php echo get_selected($sfl, "wr_subject||wr_content") ?>>제목+내용</option>
            <option value="wr_subject"<?php echo get_selected($sfl, "wr_subject") ?>>제목</option>
            <option value="wr_content"<?php echo get_selected($sfl, "wr_content") ?>>내용</option>
            <option value="mb_id"<?php echo get_selected($sfl, "mb_id") ?>>회원아이디</option>
            <option value="wr_name"<?php echo get_selected($sfl, "wr_name") ?>>이름</option>
        </select>
        <label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
        <span class="sch_wr">
            <!-- 
            기존 검색 필드에서 placeholder 추가- 약 27번째 line
            사용자 경험을 개선하기 위해  메시지"""일관된 사용자 경험(특정 구문)"""를 사용
            -->
            <input type="text" name="stx" value="<?php echo $text_stx ?>" id="stx" required class="frm_input" size="40" placeholder="일관된 사용자 경험(특정 구문)">
            
            <!-- 
            버튼 클릭 시 입력값 검증을 수행하는 JavaScript 함수 추가 
            -->
            <button type="submit" class="btn_submit" onclick="return validateInput();">
                <i class="fa fa-search" aria-hidden="true"></i> 검색
            </button>
        </span>
        <!-- JavaScript로 입력값 검증 로직 추가 -->
        <script>
        /**
         * 검색 입력값 검증 함수
         * - 빈 입력 필드에 대해 경고 메시지를 표시합니다.
         */
        function validateInput() {
            const searchInput = document.getElementById('stx').value.trim();
            if (!searchInput) {
                alert('Please type something before searching.'); // 경고 메시지
                return false; // 폼 제출 방지
            }
            return true; // 정상적으로 폼 제출
        }
        function fsearch_submit(f) {
            const stx = f.stx.value.trim();
            if (stx.length < 2) {
                alert("검색어는 두글자 이상 입력하십시오."); // 기존 메시지 유지
                f.stx.select();
                f.stx.focus();
                return false;
            }
            // 검색어 내 공백 검증 로직
            let cnt = 0;
            for (let i = 0; i < stx.length; i++) {
                if (stx.charAt(i) === ' ') cnt++;
            }
            if (cnt > 1) {
                alert("빠른 검색을 위하여 검색어에 공백은 한 개만 입력할 수 있습니다.");
                f.stx.select();
                f.stx.focus();
                return false;
            }
            f.stx.value = stx;
            return true;
        }
        </script>
        <div class="switch_field">
            <input type="radio" value="and" <?php echo ($sop == "and") ? "checked" : ""; ?> id="sop_and" name="sop">
            <label for="sop_and">AND</label>
            <input type="radio" value="or" <?php echo ($sop == "or") ? "checked" : ""; ?> id="sop_or" name="sop">
            <label for="sop_or">OR</label>
        </div>
    </fieldset>
</form>

 

♣ 브라우저 기본 설정을 넘어서는 통제력이 있을 지는

    coding에서 변수가 있을 것으로 예상됩니다. 

 

♣ 아래의 코드에서 가능. - 약 27번 line -


class="frm_input" size="40" placeholder="일관된 사용자 경험(특정 구문)">
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 0
© SIRSOFT
현재 페이지 제일 처음으로