2014-09-10 2 views
0

응용 프로그램이 시작되면 기본적으로 dynatable 안에 <tr> 또는 <td>이 없습니다. 자바 스크립트를 사용하여 테이블 행을 클라이언트 측의 p_scents에 추가/제거하고 있습니다. 이것은 클라이언트 측에서 꽤 잘 작동합니다. 요소를 반복하고 PHP에서 처리 할 배열로 데이터를 수집하려고합니다. 양식을 제출하면 HTML은 p_scents 안에 데이터가없는 기본값으로 돌아가고 데이터를 가져올 수 없습니다.게시물을 통해 PHP 양식을 통해 동적으로 생성 된 html 유지

자바 스크립트로 만든 HTML 요소/값을 서버 측에서 유지할 수있는 방법이 있습니까? 나는 HTML을 머물 필요가 없지만 게시물에 값이 필요합니다.

최대한 많은 정보를 제공 할 수있는 설명이나 코드가 필요하면 알려 주시기 바랍니다. 나는 $ _POST 메소드를 시도했지만 코드는 존재하지 않는다. 내 상황에서해야 할 일에 대한 아이디어가 있습니까? 클라이언트 측에서

형태 : 일단 서버 측에 제출

<form method="post" action="<?php echo htmlspecialchars('?page_id=133');?>" enctype="multipart/form-data" > 
<table class="dynatable"> 
    <thead> 
     <tr> 
      <th>Time</th> 
      <th>Description</th> 
     </tr> 
    </thead> 
    <tbody id="p_scents"> 
     <tr><td><input type="text" name="ts_value" class="timestamp_input"/></td><td><TEXTAREA NAME="ts_description" rows="3" cols="30" style="resize:none;" ></TEXTAREA></td><td><a href="#" id="remScnt">Remove</a></td></tr> 
     <tr><td><input type="text" name="ts_value" class="timestamp_input"/></td><td><TEXTAREA NAME="ts_description" rows="3" cols="30" style="resize:none;" ></TEXTAREA></td><td><a href="#" id="remScnt">Remove</a></td></tr> 
    </tbody> 
</table> 
</form> 

형태 :

<form method="post" action="<?php echo htmlspecialchars('?page_id=133');?>" enctype="multipart/form-data" > 
<table class="dynatable"> 
    <thead> 
     <tr> 
      <th>Time</th> 
      <th>Description</th> 
     </tr> 
    </thead> 
    <tbody id="p_scents"> 

    </tbody> 
</table> 
</form> 
+1

같은 페이지로 돌아 오는 경우, 대신 AJAX를 사용하여 양식을 제출해야합니다. 그러면 처음부터 상태를 잃지 않게됩니다. – briansol

답변

0

, 의견 제안,이 아약스에 대한 강한 경우입니다 동안, 그것의 유일한 솔루션이 아닙니다. 대괄호이없는 name="ts_value[]", 당신은 값을 덮어 쓰는 모든 그 이름과 마지막 값을받을 만합니다

<tr><td><input type="text" name="ts_value[]" class="timestamp_input"/></td><td><TEXTAREA NAME="ts_description[]" rows="3" cols="30" style="resize:none;" ></TEXTAREA></td><td><a href="#" class="remScnt">Remove</a></td></tr> 
<tr><td><input type="text" name="ts_value[]" class="timestamp_input"/></td><td><TEXTAREA NAME="ts_description[]" rows="3" cols="30" style="resize:none;" ></TEXTAREA></td><td><a href="#" class="remScnt">Remove</a></td></tr> 

참고 : 당신이 당신의 폼 요소를 배열 구문의 이름, 예를 제공해야합니다

1 . 또한 나는 당신이 수없는 중복 ID를 가지고 있기 때문에 클래스에 remScnt를 바 꾸었습니다.

그럼 당신은 쉽게 PHP의 데이터에 액세스 할 수 있습니다

양식을 재 구축
var_dump($_POST['ts_value']); 

이 값을 반복의 문제입니다 :

<?php 

if($_SERVER['REQUEST_METHOD']=='POST' && isset($_POST['ts_value']) && isset($_POST['ts_description'])): 

    for($i=0;$i<count($_POST['ts_value']);$i++;):?> 

     <tr><td><input type="text" name="ts_value[]" class="timestamp_input" value="<?php echo $_POST['ts_value'][$i];?>" /></td> 
     <td><TEXTAREA NAME="ts_description[]" rows="3" cols="30" style="resize:none;" ><?php echo $_POST['ts_description'][$i];?></TEXTAREA></td><td><a href="#" class="remScnt">Remove</a></td></tr> 


    <?php endfor; 
endif; ?> 
관련 문제