2017-02-14 5 views
0

enter image description here最初の列のチェックボックスをオンにすると、テーブルからテキストファイルに2番目の列の値を保存する方法はありますか?

htmlページには、第1列の他の列のチェックボックスが値として含まれています。チェックボックスをオンにして保存ボタンをクリックすると、2番目の列のデータをテキストファイルに保存します.iはファイル名を入力するためのテキストボックスを提供しました。 ユーザーは、テキストボックスにすべてまたは任意のチェックボックスをオンにしてテキストファイル名を指定すると、データをファイルに保存できます。 問題は、保存ボタンをクリックしたときに第2列の第1の値だけを取ることです。たとえすべてのチェックボックスをチェックしても。あなたは、各チェックボックスに固有の名前を与えていないので、それがあるfiddle

<!DOCTYPE html> 
<html> 
<head> 
     <script> 
     function checkAll(ele) { 
      var checkboxes = document.getElementsByTagName('input'); 
      if (ele.checked) { 
     for (var i = 0; i < checkboxes.length; i++) { 
      if (checkboxes[i].type == 'checkbox') { 
       checkboxes[i].checked = true; 
      } 
     } 
      } else { 
     for (var i = 0; i < checkboxes.length; i++) { 
      console.log(i) 
      if (checkboxes[i].type == 'checkbox') { 
       checkboxes[i].checked = false; 
      } 
     } 
      } 
     } 
     </script> 

<script> 
function Info() { 
     next_page='ccc.php' 
     checkboxes = document.getElementsByTagName("input"); 

     for (var i = 0; i < checkboxes.length; i++) { 
       var checkbox = checkboxes[i]; 
       checkbox.onclick = function() { 
       var currentRow = this.parentNode.parentNode; 
       var secondColumn = currentRow.getElementsByTagName("td")[1]; 

       form = document.createElement('form'); 
       form.setAttribute('method', 'POST'); 
       form.setAttribute('action', next_page); 

       opt = 'save'; 
       myvar = document.createElement('input'); 
       myvar.setAttribute('name', opt); 
       myvar.setAttribute('type', 'text'); 
       myvar.setAttribute('value', opt); 
       form.appendChild(myvar); 

       text = secondColumn.textContent; 
       myvar1 = document.createElement('input'); 
       myvar1.setAttribute('name', 'text'); 
       myvar1.setAttribute('type', 'text'); 
       myvar1.setAttribute('value', text); 
       form.appendChild(myvar1); 

       document.body.appendChild(form); 
       form.submit(); 
       }; 
     } 
} 
</script> 
</head> 
<body> 
<table id="testlist" border=1> 
<tr style="font-family:verdana;font-size:16px"><th>Select All<input type="checkbox" style="zoom:1.5" onchange="checkAll(this)" name="chk[]"></th><th>TestCase Name</th> <th>TestCase Group</th> <th>Description</th></tr> 
<tr><td><input type="checkbox" style="zoom:1.5"><td>A</td> <td>ALL_A</td> <td>This Test A</td></tr> 
<tr><td><input type="checkbox" style="zoom:1.5"><td>B</td> <td>ALL_B</td> <td>This Test B</td></tr> 
<tr><td><input type="checkbox" style="zoom:1.5"><td>C</td> <td>ALL_C</td> <td>This Test C.</td></tr> 
<tr><td><input type="checkbox" style="zoom:1.5"><td>D</td> <td>ALL_D</td> <td>This Test D.</td></tr> 
</table> 
<label for="tc_file"><b>Enter File Name: </b></label><input type="text" name="tc_file" placeholder="Like ABC"> 
<input type="button" name="save" onClick="Info()" value="Save to File" style="height:35px;width:110px"/> <input type="button" onclick="location.href='add_newtc.php';" value="Add New Test" style="height:35px;width:110px"/> 
</div> 
<?php 
     $fileName = "tc_list.txt"; 
     $tc_name = $_POST["text"]; 
     ob_start(); 
     echo "$tc_name"; 
     $obStr = ob_get_contents(); 
     ob_end_clean(); 
     file_put_contents($fileName, $obStr." \n", FILE_APPEND); 
?> 
</body> 
</html> 
+0

フィドル: - https://jsfiddle.net/a66tfmay/ – vlehar

+0

あなたの質問を編集して、そこにあなたのフィドルを入れてください。 – Shawn

+0

また、あなたがしようとしていることの写真を持っている可能性もあります。私はあなたの質問を理解するのに苦労しています。 – Shawn

答えて

0

はあなたの問題に私の解決策である。このため

<table id="testlist" border=1> 
<tr style="font-family:verdana;font-size:16px"> 
    <th>Select All 
    <input type="checkbox" style="zoom:1.5" onchange="checkAll(this)" name="chk[]"> 
    </th> 
    <th>TestCase Name</th> 
    <th>TestCase Group</th> 
    <th>Description</th> 
</tr> 
<tr> 
    <td> 
    <input type="checkbox" style="zoom:1.5"> 
    <td>A</td> 
    <td>ALL_A</td> 
    <td>This Test A</td> 
</tr> 
<tr> 
    <td> 
    <input type="checkbox" style="zoom:1.5"> 
    <td>B</td> 
    <td>ALL_B</td> 
    <td>This Test B</td> 
</tr> 
<tr> 
    <td> 
    <input type="checkbox" style="zoom:1.5"> 
    <td>C</td> 
    <td>ALL_C</td> 
    <td>This Test C.</td> 
</tr> 
<tr> 
    <td> 
    <input type="checkbox" style="zoom:1.5"> 
    <td>D</td> 
    <td>ALL_D</td> 
    <td>This Test D.</td> 
</tr> 
</table> 
<label for="tc_file"><b>Enter File Name: </b></label> 
<input type="text" name="tc_file" placeholder="Like ABC"> 
<input type="button" name="save" onClick="Info()" value="Save to File" style="height:35px;width:110px" /> 
<input type="button" onclick="location.href='add_newtc.php';" value="Add New Test" style="height:35px;width:110px" /> 

<script language=javascript> 
    function checkAll(ele) { 
     var checkboxes = document.getElementsByTagName('input'); 
     if (ele.checked) { 
      for (var i = 0; i < checkboxes.length; i++) { 
       if (checkboxes[i].type == 'checkbox') { 
        checkboxes[i].checked = true; 
       } 
      } 
     } else { 
       for (var i = 0; i < checkboxes.length; i++) { 
        console.log(i) 
        if (checkboxes[i].type == 'checkbox') { 
         checkboxes[i].checked = false; 
        } 
       } 
     } 
    } 

    function Info() { 
     var next_page = 'ccc.php' 
     var itemCount = 0; 
     var table = document.getElementById("testlist"); 
     var rows = table.rows; 
     var form = document.createElement('form'); 
     form.setAttribute('method', 'POST'); 
     form.setAttribute('action', next_page); 

     for (var i = 1; i < rows.length; i++) { 
      row = rows[i]; 
      cells = row.cells; 
      firstCol = cells[0]; 
      secondCol = cells[1]; 

      if (firstCol.firstElementChild.checked) { 
      myvar1 = document.createElement('input'); 
      myvar1.setAttribute('name', 'tc' + (itemCount++)); 
      myvar1.setAttribute('type', 'text'); 
      myvar1.setAttribute('value', secondCol.innerHTML); 
      form.appendChild(myvar1); 
      } 
     } 
     if (itemCount > 0) { 
      document.body.appendChild(form); 
      form.submit(); 
     } 
    } 
+0

ありがとうございました。 – vlehar

-1

- :

この私を殺して、その、してください誰か助けて...

フィドル。ここで

+0

は2列目の値全体を取得しようとしましたが、チェックボックスをチェックしていません。 – vlehar

関連する問題