2013-07-27 4 views
0

저는 두 콤보 박스에서 선택한 항목에 따라 테이블을 동적으로 채울 필요가있는 프로젝트에서 작업 해 왔습니다. 문제는 그 값을 사용하여 저장해야한다는 것입니다. 데이터베이스하지만 나는 이것을 할 수있는 방법을 찾을 수 없습니다.게시 방법을 사용하여 테이블 데이터 가져 오기

내가 버튼을 누르면 코드 : 당신이 볼 수 있듯이, 위의 코드를 다음 코드 나는 테이블을 채우는 방법

<?php 
include("funciones.php"); 
$pro = 0; 
$programas = agregarProgramaDependencia($_GET["pro"]); 

foreach($programas as $fila) 
{ 
echo (" 
     <td id=".$fila['idPrograma'].">".$fila['Nombre']."</td> 
     <td><input type='button' value='Eliminar' onclick='borrarFila(this)'</td> 
     "); 
} 
?> 

으로 PHP 파일을 호출

<input type="button" name="btnAgregarPrograma" value="Agregar" onClick="addRow()"/> 



function addRow() 
{ 
var dep = $("#cbxDependencia").val(); 
var pro = $("#cbxPrograma").val(); 
if(dep == 0 || pro == 0) 
    alert('Debe seleccionar una dependencia y un programa para poder agregarlos'); //Traslation: you must select a dependency and a program to continue 
else 
{ 
    $.get("funciones/agregarProDep.php",{pro: pro}, 
     function(resultado) 
     { 
      if(resultado == false) 
      { 
       alert("Error"); 
      } 
      else 
      { 
       $("#table_depProg").attr("disabled",false); 
       var row = $("<tr>" + resultado + "</tr>"); 
       $('#table_depProg').append(row);    
      } 
     } 
    ); 
} 
} 

을, 하지만 지금은 데이터를 가져오고 저장하기 위해 페이지를 제출할 때 포함 된 데이터를 가져올 수있는 방법을 찾지 못했습니다. 모든 도움이 필요합니다.

내가 할 수있는 최선의 것을 설명하려고 노력했다. 분명히 알려지지 않은 것이 있으면 더 나은 설명으로 답할 것이다.

+0

당신이에서 필요 페이지에서 제출 된 데이터를 얻을 수 , 나는 위의 ode에서 보이지 않는다. –

+1

@Dagon - 당신은 Ajax를 사용할 때 폼 요소가 필요하지 않다. (필자의 "from"이 "form"이었음에 틀림없는 오타 였다고 가정합니다.) Aaron - 질문 제목과 태그는 "post"라고하지만 코드는 "get"을 의미합니다. – nnnnnn

+0

반환되는 결과/상태는 무엇입니까? 여러분이 좋아하는'web inspector '에서'network tab'을 확인하십시오. – Ohgodwhy

답변

0

나는 이것이 오래된 질문이라는 것을 알고 있지만, 나는 똑같은 것을 만났으며, 여기에 내가 한 일이있다.

  1. 는 (헤더 생략) 각 행 테이블의 행을 반복되어
  2. 의 필드를 포함 된 객체 DataRow 만들어지고 DataRow 각 행을 저장 배열 상으로 푸시.
  3. 어레이를 JSON으로 변환하기 위해 JSON.Stringify을 사용했습니다.
  4. JSON을 <input type="hidden">에 저장하여 POST됩니다. 여기

는 HTML의 예는 다음과 같습니다

<table border="2px solid black"> 
    <tr id="header-row"> 
      <th>Dx Code</th> 
      <th>Dx Date</th> 
      <th>OnSet Or Ex</th> 
     </tr> 
    <tr> 
     <td>3022</td> 
     <td>1/1/2014</td> 
     <td>ONSET</td> 
    </tr> 
    <tr> 
     <td>V9099</td> 
     <td>1/21/2014</td> 
     <td>EX</td> 
    </tr> 
    <tr> 
     <td>1199</td> 
     <td>1/31/2014</td> 
     <td>ONSET</td> 
    </tr>   
</table> 

<br /> 
<input type="button" value = "Submit" id="out"> 

자바 스크립트 :

// object to hold your data 
function dataRow(value1,value2,value3) { 
    this.dxCode = value1; 
    this.dxDate = value2; 
    this.dxType = value3; 
} 

$('#out').click(function(){ 

    // create array to hold your data 
    var dataArray = new Array(); 

    // iterate through rows of table 
    // * Start from '2' to skip the header row * 
    for(var i = 2; i <= $("table tr").length; i++){ 
      // create object and push to array 
      dataArray.push( 
       new dataRow(
        $("table tr:nth-child(" + i + ") td").eq(0).html(), 
        $("table tr:nth-child(" + i + ") td").eq(1).html(), 
        $("table tr:nth-child(" + i + ") td").eq(2).html()) 
      ); 
    } 

    var sJson = JSON.stringify(dataArray); 
    alert(sJson); 
}) 

마지막으로, JSFiddle 그것을 볼 수 : http://jsfiddle.net/leisenstein/vy3ux/

관련 문제