2013-02-25 6 views
0
<div id="tabs"> 
    <div id="nav"> 
     <p>Show Div 1:<input type="radio" name="tab" value="pkfrom" class="div1" /></p> 
     <p>Show Div 2:<input type="radio" name="tab" value="pkfrom" class="div2" /></p> 
    </div> 

    <div id="div1" class="tab"> 
    <? echo form_open('email/send');?> 

     <table width="100%"> 
     <tr><td> 

Username:</td><td><? echo form_input('username', 'your username');?></td></tr> 
<tr><td> Name:</td><td> <? echo form_input('Name', '');?></td></tr> 
<tr><td> Address:</td><td> <? echo form_textarea('address', '');?></td></tr> 
<tr><td> Degree:</td><td> <? echo form_input('specialist', '');?></td></tr> 
<tr><td> Degree:</td><td> <? echo form_input('specialist', '');?></td></tr> 

<? echo form_close();?> 
     </table> 

    </div> 

    <div id="div2" class="tab"> 
     <p>this is div 2</p> 
    </div> 
    </div> 

    <script type="text/javascript" charset="utf-8"> 
    (function(){ 
     var tabs =document.getElementById('tabs'); 
     var nav = tabs.getElementsByTagName('input'); 

     /* 
     * Hide all tabs 
     */ 
     function hideTabs(){ 
     var tab = tabs.getElementsByTagName('div'); 
     for(var i=0;i<=nav.length;i++){ 
      if(tab[i].className == 'tab'){ 
      tab[i].className = tab[i].className + ' hide'; 
      } 
     } 
     } 

     /* 
     * Show the clicked tab 
     */ 
     function showTab(tab){ 
     document.getElementById(tab).className = 'tab' 
     } 

     hideTabs(); /* hide tabs on load */ 

     /* 
     * Add click events 
     */ 
     for(var i=0;i<nav.length;i++){ 
     nav[i].onclick = function(){ 
      hideTabs(); 
      showTab(this.className); 
     } 
     } 
    })(); 
    </script> 
</div> 

Это кодировка для показа и скрытия на основе div. Но он работает только, если я просто набираю обычный текст в div. Но если я добавлю php или любой элемент html, это не сработает.Показать скрыть на основе div не работает

Любая идея, как исправить.

Благодаря

+0

Проверьте вы broncode, есть mabye два раз тег тела или что-то в этом роде. Потому что это не имеет значения, или у вас есть текст с php или вы вводите текст – Perry

+0

Любые ошибки в консоли? Как выглядит сгенерированный HTML? – hank

ответ

0

я изменил его немного, и это, кажется, работает для меня: я изменил следующее -

 if(tab[i].className == 'tab'){ 
     document.getElementById('div' + i).style.display = 'none'; 
     } 

и

function showTab(tab){ 
    document.getElementById(tab).style.display = 'block'; 
    } 
+0

Это не работает для меня – user2008654

Смежные вопросы