更改<;il>;表单提交后的选项卡类


Change <il> tab class after form is submitted


我有一个jQuery选项卡,看起来像这样:

<div class="tabs">
<ul class="tab-links">
    <li id="aa" class="active"><a href="#about">About</a></li>
    <li id="bb"><a href="#CV">CV</a></li>
    <li id="cc"><a href="#contact">Contact</a></li>
</ul>

在联系人选项卡上,我放置了一个使用php的电子邮件表单。我面临的问题是,当提交表格时用户会自动重定向到about选项卡,因为这当然将类设置为"活动"。

我想要的是将类"active"添加到联系人<li>并将其从about<li>在表单提交后,用户可以看到联系人选项卡中显示的成功/错误消息。我尝试按照这个步骤中的说明,通过实现以下代码:

    $(document).ready(function () {
      $([#contact]).tabs( "option", "active", 3 );});

这并不能解决问题。。

我对php或jQuery都不是很有经验,所以如果有人能给我指明正确的方向,我将非常感谢!

更新:

我已经将id元素添加到<li>,并且已经测试了下面的代码,当按下提交按钮时会出现警告消息。但到目前为止,我还没有弄清楚如何正确地删除和添加类。

$("form").submit(function(){
  alert("Submitted");
  $('#aa').removeClass('active');
  $('#cc').addClass('active');
});

您可以使用PHP变量&if条件来完成此任务。

以下可能是一个解决方案:

将您的[您的联系人处理文件].php编辑为以下内容:

<?php
  header("location: your-main-file.php?contact=1");
?>

使用以下代码编辑您的-main-file.php:

<?php
  // keep this PHP code on the top
  $con = '';
  if(isset($_REQUEST['contact'])){
    if(isset($_REQUEST['contact'] == 1)){
       $con = 1; 
    } else {
       $con = ''; // to avoid PHP error if some other value is passed through contact 
  }
 }
?>
<div class="tabs">
   <ul class="tab-links">
      <li 
          <?php 
               if ($con == '';) echo 'class="active"'; 
          ?>>
        <a href="#about">About</a>
      </li>
      <li><a href="#CV">CV</a></li>
      <li 
          <?php 
               if ($con == 1;) echo 'class="active"'; 
          ?>>
        <a href="#contact">Contact</a>
      </li>
   </ul>

希望这能有所帮助。

注意:这不是一个jquery解决方案,但应该可以正常工作。