Выпадающее меню, динамическое перенаправление на ссылку на основе выбора.Когда кнопка отправки нажата - PullRequest
0 голосов
/ 30 ноября 2018

Требуемое изменение в форме поиска на домашней странице: Например, если я ищу консультанта по инвестициям в Бангалоре,

прямо сейчас показывает URL: https://finvizer.com/?swoof=1&post_type=product&product_cat=investment-advisor-bengaluru

Это необходимо изменить на: https://finvizer.com/investment-advisers-in-bengaluru/

Код: Первый находится в functions.php

        <div class="header-search-form"> 
            <form role="search" method="get" action="<?php echo esc_url( home_url( '/' ) );

теперь в этой части кода метод get и действие, которое выполняется: вызывается домашний URL-адрес веб-сайта (т. Е. http://finvizer.com) и вызывается функция serch_validate_home (), которая работает нормально.

    ?>" name="serchvalidformhome" id="serchvalidformhome" onsubmit="return serch_validate_home();"> 
                <input type="hidden" name="swoof" id="swoofhm" value="1" /> 
                <input type="hidden" name="post_type" id="post_typehm" value="product" /> 

эти входные данные формируют плагин "woocommerce", который приходит в URL, потому что этот кусок кода сайта попадает на https://finvizer.com/?swoof=1&post_type=product&product_cat=investment-advisor-bengaluru, но я хотел, чтобы страница была перенаправлена ​​https://finvizer.com/investment-advisers-in-bengaluru/

Я сделал их комментарий и попытался запустить, и результат был http://www. .finvizer.com /? Product_cat =

                    <div class="i-would-lik-cls">      
                   <?php  $terms = get_terms( 'locationfilter',array('hide_empty' => 0, 'orderby' => 'ASC')); ?>                    
                <span class="srch-frm-home-temp-one">I need a</span> 
                <select  id="servicehm" style="width:100%"> 
                    <option value="">Choose a Service...</option> 
                    <option value="financial-planner-">Financial Planner</option>        
                    <option value="investment-advisor-">Investment Adviser</option>                
                    <option value="wealth-advisor-">Wealth Adviser</option>                        
                </select >   
                </div>                   
                <span class="srch-frm-home-temp-two">in</span> 
                 <div class="annual-incom-cls">                   
                <select id="locationfilterhm" style="width:100%" "> 
                    <option value="">Location</option> 
                    <option value="ahmedabad">Ahmedabad</option>        
                    <option value="bengaluru">Bengaluru</option>                
                    <option value="chennai">Chennai</option> 
                    <option value="delhi">Delhi</option> 
                    <option value="gurgaon">Gurgaon</option> 
                    <option value="hyderabad">Hyderabad</option> 
                    <option value="indore">Indore</option>    
                    <option value="kolkata">Kolkata</option>    
                    <option value="kochi">Kochi</option>    
                    <option value="mumbai">Mumbai</option> 
                    <option value="pune">Pune</option>                
                    <option value="surat">Surat</option>        
                </select >   
                </div>    

так что отсюда я увиделесть еще один входной продукт cat, я ничего не изменил (input name = ""), чем веб-сайт был перенаправлен на https://finvizer.com/?

                <input name="product_cat" id="product_cathm" value="" type="hidden" />   
                <div class="prod-serh"> 
                    <button type="submit">search</button> 
                </div> 

            </form> 
        </div>            
    </div>   

</div> 
<div style="clear:both;"></div> 
     <?php    
$ReturnString = ob_get_contents(); ob_end_clean(); return $ReturnString; 
   } 

Второй находится в footer.php , это код javascript в footer.php.Эта функция вызывается functions.php. Здесь две переменные берут значение из формы: значение службы находится в ser и местоположение одно находится в loct .

   function serch_validate_home(){ 
     var ser = jQuery("#servicehm").val(); 
     var loct = jQuery("#locationfilterhm").val(); 
       if( ser!='' && loct!=''){ 

в этой переменной srch, я уже поместил «in-». он сделал переменную srch vale тем, что мы хотим (то есть финансовым планировщиком в Бенгалуру).но это не работает без тех двух встроенных HTML-входов, о которых я упоминал выше.И когда я пытаюсь использовать их, страница падает.

         var srch =ser+loct; 
           jQuery("#product_cathm").val(srch); 
           document.serchvalidformhome.submit(); 
             } 
           return false; 
              }

ps, этот код написан другим разработчиком, с которым владелец не связался, меня попросили перенаправить страницу по другой ссылке.Я пытался пройти каждый шаг согласно моим знаниям, но застрял. Мне удалось удалить все из ссылки, и я смог перенаправить на https://finvizer.com/?, но как мне разместить этот srch varable вместо этого "?"

1 Ответ

0 голосов
/ 30 ноября 2018

Если вы хотите, чтобы функция активировалась первой, поместите «onsubmit» перед «action» в форме.

В противном случае, я думаю, что этот вопрос требует немного больше информации на стороне отправки.

function serch_validate_home(){ 
 var ser = jQuery("#servicehm").val(); 
 var loct = jQuery("#locationfilterhm").val(); 
   if((ser!='') && (loct!='')){ 
     var srch =ser+"in-"+loct; 
     jQuery("#product_cathm").val(srch); 
     document.serchvalidformhome.submit(); 
   } 
 return false; 
}

Я бы предложил добавить корзины и "в-" для SRCH?Если это не поможет, пожалуйста, помогите мне понять, что делает «действие» в форме, а также любую другую важную информацию, необходимую

...