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

时间:2014-10-14 14:04:37

标签: php jquery html forms tabs


我有一个jQuery Tab,看起来像这样:

<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选项卡,因为这当然 将课程设置为&#34;活动&#34;。

我想要的是添加课程&#34; active&#34;联系&lt; li>并将其从约&lt; li>提交表单后,用户可以在联系人选项卡中查看成功/错误消息。我尝试按照this踏板中的说明操作,实现此代码:

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

这不能解决问题..

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

更新

我在&lt;中添加了id元素li&gt;,并测试了下面的代码,按下提交按钮时出现警告信息。但到目前为止,我还没有想出如何正确删除和添加类。

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

1 个答案:

答案 0 :(得分:0)

你可以使用PHP变量&amp;如果条件完成这项任务。

以下是可能的解决方案:

将[your-contact-processing-file] .php编辑为以下内容:

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

使用以下代码编辑your-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解决方案,但应该可以正常工作。