WordPress.org

Make WordPress Core

Ticket #34886: 34886.diff

File 34886.diff, 2.3 KB (added by gibrown, 5 years ago)
  • wp-includes/general-template.php

     
    222222                require( $search_form_template );
    223223                $form = ob_get_clean();
    224224        } else {
     225                //Select the field rather than forcing a page reload if the user has not entered a search
     226                $form = '<script type="text/javascript">
     227                        function wpSearchboxCheckEmpty( elem, format ) {
     228                                var search_elem;
     229                                if ( "html5" == format ) {
     230                                        search_elem = elem.parentElement.children[0].children[1];
     231                                } else {
     232                                        search_elem = elem.parentElement.children[1];
     233                                }
     234                                if ( "" == search_elem.value ) {
     235                                        search_elem.focus();
     236                                        return false;
     237                                }
     238                        }
     239                </script>';
     240
    225241                if ( 'html5' == $format ) {
    226                         $form = '<form role="search" method="get" class="search-form" action="' . esc_url( home_url( '/' ) ) . '">
     242                        $form .= '<form role="search" method="get" class="search-form" action="' . esc_url( home_url( '/' ) ) . '">
    227243                                <label>
    228244                                        <span class="screen-reader-text">' . _x( 'Search for:', 'label' ) . '</span>
    229245                                        <input type="search" class="search-field" placeholder="' . esc_attr_x( 'Search &hellip;', 'placeholder' ) . '" value="' . get_search_query() . '" name="s" title="' . esc_attr_x( 'Search for:', 'label' ) . '" />
    230246                                </label>
    231                                 <input type="submit" class="search-submit" value="'. esc_attr_x( 'Search', 'submit button' ) .'" />
     247                                <input type="submit" class="search-submit" onclick="return wpSearchboxCheckEmpty(this,\'html5\')" value="'. esc_attr_x( 'Search', 'submit button' ) .'" />
    232248                        </form>';
    233249                } else {
    234                         $form = '<form role="search" method="get" id="searchform" class="searchform" action="' . esc_url( home_url( '/' ) ) . '">
     250                        $form .= '<form role="search" method="get" id="searchform" class="searchform" action="' . esc_url( home_url( '/' ) ) . '">
    235251                                <div>
    236252                                        <label class="screen-reader-text" for="s">' . _x( 'Search for:', 'label' ) . '</label>
    237253                                        <input type="text" value="' . get_search_query() . '" name="s" id="s" />
    238                                         <input type="submit" id="searchsubmit" value="'. esc_attr_x( 'Search', 'submit button' ) .'" />
     254                                        <input type="submit" id="searchsubmit" onclick="return wpSearchboxCheckEmpty(this,false)" value="'. esc_attr_x( 'Search', 'submit button' ) .'" />
    239255                                </div>
    240256                        </form>';
    241257                }