插入数据引导程序3.3后重定向到另一个选项卡

时间:2018-06-11 18:21:18

标签: javascript php jquery hash

我有personal.phpmultipills.php; <ul class="nav nav-tabs"> <li> <a href="#personal" data-toggle="tab"> personal </a></li> <li> <a href="#reservation" data-toggle="tab">reservation </a></li> <li> <a href="#contact" data-toggle="tab"> contact </a></li> <li> <a href="#family" data-toggle="tab">family </a></li> </ul> <div class="tab-pane active" name="personal" id="personal"> <form method="POST" action="personal.php"> <button> SUBMIT </button> </form> <div class="tab-pane" name="reservation" id="reservation"> <form method="POST" action="reservation.php"> <button> SUBMIT </button> </form> <div class="tab-pane" name="contact" id="contact"> <div class="tab-pane " name="family" id="family"> 有4个标签

personal.php

当我在multipills.php#reservation的帮助下提交表单PERSONAL TAB时,每个标签都包含表单,它应该将我重定向到windows.location.href

两个页面上都没有javascript或jquery。 如果需要,我应该把脚本放在哪里? 插入数据后,windows.locatin.hash<form class="signup-Form" action="includes/signup.inc.php" method="post"> <div class="first-input"> <input id="first-input" type="text" name="first" placeholder="First Name"> </div> <div class="last-input"> <input id="last-input" type="text" name="last" value="" placeholder="Last Name"> </div> <div class="email-input"> <input id="email-input" type="text" name="email" value="" placeholder="E-mail"> </div> <div class="college-input"> <input id="college-input" type="text" name="college" value="" placeholder="College Name"> </div> <div class="password-input"> <input id="password-input" type="password" name="password" value="" placeholder="Password"> </div> <p class="form-message"></p> <div class="signup-btn"> <button id="signup-btn" type="submit" name="button">sign-up</button> </div> </form> <script> $(document).ready(function () { $('.signup-Form').submit(function(event){ event.preventDefault(); var first=$("#first-input").val(); var last=$("#last-input").val(); var email=$("#email-input").val(); var college=$("#college-input").val(); var password=$("#password-input").val(); var submit=$("#signup-btn").val(); $(".form-message").load("includes/signup.inc.php", { first:first, last:last, email:email, college:college, password:password, submit:submit }) }); }); </script> 无效。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

有两种方法可以解决这个问题。

1)激活标签服务器端

您需要一种方法让服务器知道您想要激活哪个窗格。可能在每个窗格的PHP文件中都有一个隐藏的输入。

例如,personal.php可能看起来像这样:

<form action="multipills.php" method="post">
    <!-- stuff -->
    <input type="hidden" name="pane" value="personal">
</form>

然后multipills.php应该有逻辑来确定

  1. 目前用户在哪个窗格?
  2. 我们应该展示的下一个窗格是什么?

  3. 一旦知道要显示的窗格,就可以在每个active上切换tab-pane类以激活相应的窗格。

    <div class="tab-pane<?= $currentPane == "personal" ? " active" : ""; ?>" name="reservation" id="reservation">
    <!-- Repeat for other tabs. -->
    

    2)激活标签客户端

    您可以使用JavaScript完成类似的操作。

    personal.php应该是这样的:

    <form action="multipills.php#reservation" method="post">
        <!-- stuff -->
    </form>
    

    默认情况下,这些窗格都不会处于活动状态。

    然后,在标记中定义标签后,您将在页面的某处添加脚本。

    <script>
        document.getElementById(window.location.hash).classList.add('active');
    </script>
    

    这两种解决方案既不完整也不一定是理想的,但希望它们能帮助你开始正确的道路。