Button not refreshing page

时间:2017-05-21 作者:Linz Darlington

我正在创建一个WooCommerce网站,其中归档页面显示与用户感兴趣的“伦敦”或“曼彻斯特”城市相关的产品。

在网站的/购物页面上,我创建了一个横幅,横幅上会有一个按钮,上面写着“切换到伦敦”(如果你在曼彻斯特)或“切换到曼彻斯特”(如果你在伦敦)。

此横幅的内容是根据您所在位置的IF函数设置的。

代码如下。

但是,如果您按下该按钮,它将进行提交,但不会正确刷新页面,因此它不会重新加载if语句,您也无法单击该按钮并再次更改位置。

如果刷新页面,它将全部排序。

我尝试过:

向按钮添加一些JavaScript:onSubmit=“window.location.reload()”,该按钮不执行任何操作

向按钮触发的某个PHP函数添加一些内容,但这只会破坏功能。

如有任何想法,请提前表示感谢。

        <div class="switch-cities col-sm-12">
        <?php
            $user_id = get_current_user_id();

            if ( wc_memberships_is_user_active_member( $user_id, \'London\' ) || wc_memberships_is_user_active_member( $user_id, \'Placeholder\' ) ) {
                //$user_id = get_current_user_id();
                $newplan = 148230;
                $oldplan = 148169;

                if(array_key_exists(\'switchman\',$_POST)){
                    lnz_wc_membershipswitch( $oldplan, $newplan, $user_id);
                return;
                }
                ?>
                    <form method="post">
                        <input type="submit" name="switchman" id="switchman" value="Switch to Manchester" onSubmit="window.location.reload()" /><br/>
                    </form>
                <?php;
                } elseif ( wc_memberships_is_user_active_member( $user_id, \'Manchester\' ) || wc_memberships_is_user_active_member( $user_id, \'Placeholder\' ) ) {
                //$user_id = get_current_user_id();
                $newplan = 148169;
                $oldplan = 148230;

                if(array_key_exists(\'switchlon\',$_POST)){
                    lnz_wc_membershipswitch( $oldplan, $newplan, $user_id);
                return;
                }
                ?>
                    <form method="post">
                        <input type="submit" name="switchlon" id="switchlon" value="Switch to London" onSubmit="window.location.reload()" /><br/>
                    </form>
                <?php
                } else {
                    print \'something is wrong - not in a city\';
                }
        ?>
        </div>

1 个回复
SO网友:Dat Nguyen

因为onsubmit事件不使用“input”标记。您可以在中查看更多详细信息https://www.w3schools.com/jsref/event_onsubmit.asp

支持的HTML标记:表单、keygen

将代码替换为

<form method="post"  onSubmit="window.location.reload()">
   <input type="submit" name="switchlon" id="switchlon" value="Switch to London" /><br/>
</form>

<form method="post" >
   <input type="submit" name="switchlon" id="switchlon"  onClick="window.location.reload()" value="Switch to London" /><br/>
</form>

结束