在表单提交/页面重新加载时打开网页部分/选项卡

时间:2015-04-13 20:21:47

标签: javascript php jquery forms

我正在使用引导主题,并试图让我的页面表单保持/打开特定注册表单的确认消息。不幸的是,页面上有几个注册表单,每个注册表单都隐藏在它自己隐藏的div / tab中。我对JS不太好,到目前为止花了大约4个小时试图让它正常运行:

http://middlechambersociety.com/dev/mcs2014/

在任何注册表格完成时,我希望用户返回并显示注册表格的确认消息和“按卡付费”按钮,当它是注册过程的一部分时(按钮当前显示应该的时间)。然而,问题是,当我的表格重新加载时,我能做的最好的事情是将用户带到注册部分并仅显示高尔夫球手的注册表和/或确认消息(因为它是默认的打开div / tab)。我试过php和有限的JS / jQuery没有成功。我已经尝试将Class .active添加到我要显示的li但没有运气。我目前在提交给TRY时尝试触发每个表单,以显示相应的注册选项卡:

<?php
if ($reg_type == 'Diners' && !empty($confirm_msg)) {
?>
<script type="text/javascript">
alert('Working1');
$(document).ready(function() {
alert('Working');
var tab = $('#reg_diner').parent();
alert(tab);
tab.addClass('active').siblings().removeClass('active');
});
</script>
<?php
echo '<div class="confirm-message">' . $confirm_msg . '</div>';
echo $stripe_pay_form;
}
?>

请帮忙。

对于任何可能对我想要完成的事情感到困惑的人:随意填写其中一个表格(例如用餐)并看到确认消息被隐藏,直到您实际导航回用餐注册标签。

2 个答案:

答案 0 :(得分:0)

我理解不想将用户导航到其他页面,但有时候会更容易。 一种方法是在表单post中放置$ _GET字符串,然后使用它来控制显示消息。将其添加到表单操作URL可能:

enter code here =行动&#34;?的index.php形成= golfer1&#34;

然后更新你的代码:

 <?php

    if ($_GET['form'] == 'golfer1') {

        echo '<div class="confirm-message">' . $confirm_msg . '</div>';
        echo $stripe_pay_form;
    }

    ?>

答案 1 :(得分:0)

也许尝试ajax调用并在成功时将活动类添加到新内容中?

我的坏 - 被误解了。继承人,我可以看到你的错误:

在console.log中你的脚本调用点有一个$ reference错误。因为您在页脚中加载jQuery。所以它在完全加载之前无法使用脚本。 (Document Ready不起作用,因为他还不知道这个命令)在调用jQuery之后把jQuery放到头部或者你的标签