programing

일부 메뉴에 대해서는 양식 7 워터마크에 문의하십시오.

newsource 2023. 2. 7. 20:01

일부 메뉴에 대해서는 양식 7 워터마크에 문의하십시오.

선택한 필드에 워터마크를 붙이는 방법을 찾고 있습니다.

동작하지 않는다 ->

[select* c_type class:ic watermark "choose type" "a" "b" "c"]

검증에 실패한 유효하지 않은 값을 입력하기 위해include_blank

[select* c_type class:ic include_blank "a" "b" "c"]

하지만 문제는 제가---워터마크로서, 그것이 내가 바꾸고 싶은 것이다.

최신 버전의 Contact Form 7에서는 first_as_label을 사용하여 사용자가 선택하지 않은 경우 엔트리로 검증되지 않는 플레이스홀더 텍스트를 작성할 수 있습니다.플레이스 홀더 텍스트를 옵션 목록의 첫 번째 레이블로 지정하기만 하면 됩니다.

[select* food-choice first_as_label "Preferred food?" "Cake" "Pizza" "Burger" "Salad" "Donut"]

열심히 검색한 결과, 이 스크립트가 동작해, 그 요소를 타겟으로 하면, 이 스크립트는 모든 「---」를 변경하고 있습니다.

function my_wpcf7_form_elements($html) {
    $text = 'Please select...';
    $html = str_replace('<option value="">---</option>', '<option value="">' . $text . '</option>', $html);
    return $html;
}
add_filter('wpcf7_form_elements', 'my_wpcf7_form_elements');

이 코드, 타겟팅으로 대체

function my_wpcf7_form_elements($html) {
    function ov3rfly_replace_include_blank($name, $text, &$html) {
        $matches = false;
        preg_match('/<select name="' . $name . '"[^>]*>(.*)<\/select>/iU', $html, $matches);
        if ($matches) {
            $select = str_replace('<option value="">---</option>', '<option value="">' . $text . '</option>', $matches[0]);
            $html = preg_replace('/<select name="' . $name . '"[^>]*>(.*)<\/select>/iU', $select, $html);
        }
    }
    ov3rfly_replace_include_blank('menu-569', 'Choose language', $html);
    ov3rfly_replace_include_blank('menu-614', 'Choose country', $html);
    return $html;
}
add_filter('wpcf7_form_elements', 'my_wpcf7_form_elements');

여러분들의 골칫거리를 덜어주기를 바랍니다(여기 출처).

이것을 시험해 보세요.

[select* menu-206 first_as_label "Select doctor" "David Mikaberidze" "Sophio Gelashvili" "Maya Dolidze"]

jQuery의 한 줄을 사용하여 수행할 수 있습니다.

- - 를 원하는 플레이스 홀더 텍스트로 대체하기 위해 먼저 Contact Form 7 옵션에서 필드에 ID를 지정했습니다.이어서 스크립트 태그 사이에 다음 내용을 테마 바닥글에 추가했습니다.

$("#typeofinjury option:first:contains('---')").html('How Were You Injured?');//Replace ---

코드는 단순히 'type of injuri'라는 ID가 있는 드롭다운 메뉴에서 첫 번째 옵션을 찾습니다.그런 다음 '어떻게 다쳤습니까?'라는 텍스트로 대체한다.

스크린샷을 포함한 이 솔루션의 블로그 투고는 이쪽

문자열 치환이 비효율적이라고 생각되는 경우는, 다음과 같이 간단하게 할 수 있습니다.

jQuery(function($) {
    $("select option:first").attr('disabled', 'disabled');// Disable the first value/label ---
  });

wcf7의 쇼트코드에 다음과 같이 first_as_label을 추가하여 첫 번째 대안은 사용하고 싶은 "label"임을 확인했습니다.

[select name first_as_label 'label' 'alt1' 'alt2' 'alt3']

첫 번째 옵션을 비활성화하면 활성화된 대체 옵션을 선택할 때까지 wcf7은 폼을 확인하지 않습니다.

언급URL : https://stackoverflow.com/questions/13178585/contact-form-7-watermark-for-select-menu