2015-02-10 56 views
-1

我實現了一個代碼,通過一個按鈕壓力允許生成HTML表:如何提取HTML表格文本

function crea_tabella($colonne,$suddivisione,$righe) 
{ 
    $dipendenti = 0; 
    $progressivo = 0; 
    echo "<table border='1' width='50%' height='25%'>"; 

     echo "<tr>"; 
      echo "<td></td>"; 
      echo "<td>Lunedì</td>"; 
      echo "<td>Martedì</td>"; 
      echo "<td>Mercoledì</td>"; 
      echo "<td>Giovedì</td>"; 
      echo "<td>Venerdì</td>"; 
      echo "<td>Sabato</td>"; 
     echo "</tr>"; 

     for($i=0; $i<$righe; $i++) 
     { 
      echo "<tr>"; 
      echo "<td ><input name='casella $progressivo' type='text' value='Operaio $i' disabled='true'></td>"; 
      $progressivo++; 
      for($j=0; $j<$colonne;$j++) 
      { 
       if($suddivisione == 1) 
       { 
        echo "<td><input type='text name='dipendente''></td>"; 
       } 
       elseif($suddivisione == 2) 
       {  
        echo "<td>AM<input type='text' name='dipendente'><br>"; 
        echo "  PM<input type='text name='dipdenente''></td>"; 
       } 
      } 
      echo "</tr>"; 
     } 
     echo "</table><br>"; 
} 

現在我想創建另一個函數,提取生成的特定單元格的內容表.. 看到紅色的框:
image


怎麼能做到這一點?

Operaio 1:A B C d電子網
A B C d電子網,是線Operaio 1

+0

你問一個特定的細胞,但你的圖像顯示基本上每個細胞被選中......它是哪一個? – Slime 2015-02-10 15:39:28

+0

是啊!那些是特定的細胞。正如你可以在第一列「Operaio」中看到的,我不想得到它包含的值。更具體地說,對於「Operaio 1」,我將擁有它們的6個值。 – 2015-02-10 15:43:22

+0

'type ='text name ='dipendente'''首先,你應該把它解決爲'type ='text'name ='dipendente''應該給每個單元格一個不同的名稱,比如'type ='text'name ='dipendente [1] [1]'','type ='text'name ='dipendente [1] [2]''...'type ='text'name ='dipendente [$ row] [$ col]''最後你應該告訴我們,如果你想通過發佈到另一個頁面來獲取內容'$ _POST ['dipendente'] [1] [2]'或作爲一個JavaScript,而他們在頁面上'document.getElementsByName(「dipendente [1] [2]」)[0]' – 2015-02-10 15:54:53

回答

0

必須使用任一形式或JavaScript/jQuery來做到這一點的內容。繼承人使用jQuery的一個例子。我使用的主要功能是.click()觸發按鈕單擊上的值的收集,.each()循環指定的輸入,並且classes指定我想要的輸入。 .append()用來輸出結果

$(document).ready(function() { 
 
    $('.get').on('click', function(e) { 
 
     var values = []; 
 
     e.preventDefault(); 
 
     $('.getValue').each(function() { 
 
      values.push($(this).val()); 
 
     }); 
 
     $('.results').html(''); 
 
     for(var i=0; i<values.length; i++) { 
 
      $('.results').append('<br/>' + values[i]); 
 
     } 
 
    }); 
 
});
td, th { 
 
    border: 1px solid black; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <thead> 
 
     <tr> 
 
      <th></th> 
 
      <th>Header 1</th> 
 
      <th>Header 2</th> 
 
      <th>Header 3</th> 
 
     </tr> 
 
    </thead> 
 
    <tbody> 
 
     <tr> 
 
      <td>Left Column1</td> 
 
      <td><input class="getValue" type="text" value="1,1"/></td> 
 
      <td><input class="getValue" type="text" value="1,2"/></td> 
 
      <td><input class="getValue" type="text" value="1,3"/></td> 
 
     </tr> 
 
     <tr> 
 
      <td>Left Column2</td> 
 
      <td><input class="getValue" type="text" value="2,1"/></td> 
 
      <td><input class="getValue" type="text" value="2,2"/></td> 
 
      <td><input class="getValue" type="text" value="2,3"/></td> 
 
     </tr> 
 
     <tr> 
 
      <td>Left Column3</td> 
 
      <td><input class="getValue" type="text" value="3,1"/></td> 
 
      <td><input class="getValue" type="text" value="3,2"/></td> 
 
      <td><input class="getValue" type="text" value="3,3"/></td> 
 
     </tr> 
 
    </tbody> 
 
</table> 
 
<br/> 
 
<br/> 
 
<a href="#" class="get">Get Values of Inputs</a><br/> 
 
<div class="results"></div>

編輯:它更容易在這裏展示的代碼。關於你的引擎收錄:

if($suddivisione == 1) 
{  
    echo "<td><input type='text name='dipendente''></td>"; 
} 
elseif($suddivisione == 2) 
{   
    echo "<td>AM<input type='text' name='dipendente'><br>"; 
    echo "PM<input type='text name='dipdenente''></td>"; 
} 

不正確,你必須使用dipendenteclass,而不是一個name。而且你有一堆錯別字......和你'報價不匹配....

是這樣的:

if($suddivisione == 1) 
{  
    echo "<td><input type='text class='dipendente'></td>"; 
} 
elseif($suddivisione == 2) 
{   
    echo "<td>AM<input type='text' class='dipendente'><br>"; 
    echo "PM<input type='text' class='dipendente'></td>"; 
} 

如果別的心不是工作,在你的代碼,我會在你的代碼中打賭它只是錯別字(拼寫錯誤,沒有正確對齊引號)。

+0

只有一個問題:鏈接又有什麼變化?而不是# – 2015-02-10 16:07:39

+0

因爲您的代碼正常工作,但如果我實施您的解決方案,則不會顯示該值。檢查完整的課程:http://pastebin.com/bEqcQpLv – 2015-02-10 16:16:36