下拉菜单,根据选择动态重定向到链接。当按下提交按钮时

时间:2018-11-30 19:52:56

标签: javascript php web url-redirection web-development-server

首页搜索表单中所需的更改: 例如,如果我在班加罗尔搜索投资顾问,

现在它显示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(),该方法工作正常。 / p>

    ?>" 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" /> 

此输入是通过URL插入的插件“ woocommerce”,因为此代码网站已降落到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>    

所以从这里开始,我看到有另一种输入产品猫,我没有改变什么(输入名称=“”),而不是将网站重定向到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 中  这是footer.php中的javascript代码。该函数由functions.php调用 这里有两个变量从形式中获取价值,服务价值在ser 中,位置价值在loct 中。

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

在此srch变量中,我已经将“ in-”放置了。。它使srch变量变了我们想要的值(即,bengaluru中的financial-planner)。 但是没有我上面提到的两个HTML嵌入式输入,它就无法工作。当我尝试使用它们时,页面崩溃了。

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

p.s。这段代码是由另一个开发者编写的,与所有者没有任何联系,我被要求将页面重定向到另一个链接上。我试着按照我的知识去走每一步,但是被卡住了。 我能够从链接中删除所有内容,并能够重定向到 https://finvizer.com/? 但是我该如何放置那个srch变量而不是那个“”?

1 个答案:

答案 0 :(得分:0)

如果您要先激活该功能,请在表单上的“操作”之前放置“ onsubmit”。

否则,我认为此问题需要在提交方面提供更多信息。

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添加刹车片和“ in-”?如果这样做没有帮助,请帮助我了解表单中的“操作”以及所需的其他任何重要信息