2014-10-03 2 views
0

죄송하지만 제 영어는 좋지 않습니다. 그리고 나는 새내기 야 :)Ajax - 하나씩 입력 값을 제출하는 방법 - Codeigniter

Codeigniter에서 ajax로 하나씩 입력 값을 업데이트하고 싶지만 올바르게 작동하지 않습니다 .. 하나의 저장 버튼 (하나의 양식) 만 작동하고 다른 것은 작동하지 않습니다.

보기 :

<script> 
    $(function(){ 
     $(".submit45").click(function(){ 

     dataString = $("#prod_upd").serialize(); 
     $.ajax({ 
      type: "POST", 
      url: "<?=PREFIX?>admin/update/change_ppx3/", 
      data: dataString, 
      success: function(data){ 
       console.log(data); 
       document.getElementById('dd').innerHTML=data; 
      } 
     }); 
     return false; 

     }); 
    }); 
</script> 

<?$i=0;if(count($PPX) > 0)foreach($PPX as $item){$i++;?> 
<form name="prod_upd" id="prod_upd" method="post" > 
     <input type="text" name="p_ppx" id="p_ppx" size="8" value="<?= number_format($item['p_ppx'],0,'','')?>" class="i_ppx"> 
     <input type="hidden" name="ids_p" id="ids_p" size="8" value="<?=$item['id']?>" class="i_ppx"> 
     <input type="button" name="sub" id="sub" class="submit45" value="Save4" /> 
     <div id="dd" style="float: left;">hello</div> 
</form> 
    <?}else{?>         
    <div class="no_data">Nothing here</div> 
<?}?> 

컨트롤러 :

,369 나를 여기

코드

아래 편집 도와주세요하면 데모 코드입니다
function change_ppx3(){ 
    $id_p = $_POST['ids_p']; 
    $rs = $this->ppx->get_ppx_by_id($id_p); 
    $ppx_value = $_POST['p_ppx']; 

    $this->ppx->update_ppx(array("id"=>$id_p),array("ppx_r"=>$ppx_value));   

    if($_POST['p_ppx']): 
     echo "done: "; 
     print_r($_POST['ids_p']); 
     echo "-"; 
     print_r($_POST['p_ppx']); 
     return true; 

    endif; 

    } 
+0

당신이 점점 오류가 무엇입니까? –

+0

안녕하세요 로낙, 문제는 단 하나의 저장 버튼 (하나의 양식) 작업, 다른 양식은 작동하지 않으며, 이처럼 다중 양식으로 값을 하나씩 제출하는 방법 – comez

답변

0

모든 양식의 ID = "prod_upd"가 동일하기 때문입니다.

시험이

<script> 
$(function(){ 
    $(".prod_upd").submit(function(){ 

    var $this = $(this), dataString = $this.serialize(); 

    $.ajax({ 
     type: "POST", 
     url: "<?=PREFIX?>admin/update/change_ppx3/", 
     data: dataString, 
     success: function(data){ 
      console.log(data); 
      $this.find('.dd').html(data); 
     } 
    }); 
    return false; 

    }); 
}); 
</script> 

<?$i=0;if(count($PPX) > 0)foreach($PPX as $item){$i++;?> 
<form name="prod_upd" class="prod_upd" method="post" > 
    <input type="text" name="p_ppx" size="8" value="<?= number_format($item['p_ppx'],0,'','')?>" class="i_ppx"> 
    <input type="hidden" name="ids_p" size="8" value="<?=$item['id']?>" class="i_ppx"> 
    <input type="submit" class="submit45" value="Save4" /> 
    <div class="dd" style="float: left;">hello</div> 
</form> 
<?}else{?>         
<div class="no_data">Nothing here</div> 
<?}?> 
+0

정말 고마워요. 이제는 간단한 PHP 테스트 코드로 훌륭하게 작동합니다. 하지만 내 프로젝트 : 첫 번째 양식 (첫 번째 입력 된 값) 작동하지 않습니다. 저장 단추를 클릭하십시오. 내 js가 잘못되었습니다. – comez

+0

오류가 첫 번째 양식에 대한 경우에만 다음 $ som = $ 0 = 0 잘못되었습니다. _or_ 브라우저의 자바 스크립트 콘솔의 도움을 받아보십시오. [$ .ajax] (http://api.jquery.com/jQuery.ajax/)에 오류 기능을 추가하십시오. – cforcloud

관련 문제