2017-03-20 2 views
0

안녕하세요 여러분, 저를 도울 수 있기를 바랍니다. 그리고 조언을 드리 자면 지금 당장 무엇을해야할지 모르겠습니다. 친절하게 도와주세요.다이내믹 폼 DB에 저장

동적 인 양식을 어디에 추가 할 수 있습니다 (추가) 새 행을하지만 그 값을 저장하려고하면 그것은 정의되지 않은 오프셋했다. 내 코드로 봐주세요 것은

이 내보기

<tbody> 
       <tr> 
       <td>1</td> 
       <td><textarea class="form-control" rows="3" name="analisa[0]" placeholder="Analisa Penyebab" style="resize: none; 
       height: 50px"></textarea></td> 
       <td><textarea class="form-control" rows="3" name="tindakan[0]" placeholder="Tindakan Perbaikan dan Pencegahan" 
       style="resize: none; height: 50px"></textarea></td> 
       <td><input class="form-control" type="text" name="pic[0]" placeholder="PIC"></td> 
       <td><input class="form-control" type="date" name="tanggal_pelaksanaan[0]"</td> 
       </tr> 
      </tbody> 
      </table> 

      <a class="button" href="#" role="button" id="add">&nbspTambah Analisa</a> 

입니다 그리고 이것은 내 자바 스크립트

$(document).ready(function(){ 
    var i = 1; 

    $('#add').click(function(){ 
     i++; 
     $('#tbanalisa tbody').append("<tr>"+"<td>"+i+"</td>"+"<td><textarea class=\"form-control\" rows=\"3\" name=\"analisa"+i+"\" placeholder=\"Analisa Penyebab\" style=\"resize: none; height: 50px\"></textarea></td>"+"<td><textarea class=\"form-control\" rows=\"3\" name=\"tindakan"+i+"\" placeholder=\"Tindakan Perbaikan dan Pencegahan\"style=\"resize: none; height: 50px\"></textarea></td>"+"<td><input class=\"form-control\" type=\"text\" name=\"pic"+i+"\" placeholder=\"PIC\"></td>"+"<td><input class=\"form-control\" type=\"date\" name=\"tanggal_pelaksanaan"+i+"\" id=\"date"+i+"\" ></td>"+"</tr>"); 

    document.getElementById('count').value = i; 
    }); 

}); 

입니다 그리고 이것은 내가 변경 시도 컨트롤러

for($i=0; $i<2; $i++){ 
     $data[] = array(
      'id_tindakan'=>$tindakan->id, 
      'analisa'=>$request->analisa[$i], 
      'tindakan'=>$request->tindakan[$i], 
      'pic'=>$request->pic[$i], 
      'tanggal_pelaksanaan'=>$request->tanggal_pelaksanaan[$i] 
     ); 
    } 
    DB::table('analisas')->insert($data); 

내 기능입니다 자바 스크립트에있는 각 배열의 인덱스 analisa [i]가 아니라 analsia [1]과 그것은 잘 작동합니다. 왜 코드 오류가 발생합니까?

답변

0

undefined offset은 색인에 아무 것도 없거나 단순히 개체가 배열이 아님을 의미합니다. 귀하의 경우 변수가 배열이 아닌 것 같습니다. 당신의 자바 스크립트에서는 Laravel 당신이 배열하지 않은, analisa[2] 그것을 싶어 반면 실제 이름이

name="analisa2" 

으로 HTML로 렌더링을 의미

name=\"analisa"+i+"\" 

을한다. 솔루션으로

, 당신도 당신의 자바 스크립트 배열

name=\"analisa["+i+"]\" 

로 이름 또는 자바 스크립트

'analisa'=>$request->analisa.$i, 
+0

에서 보낸 동일한 이름을 선택하는 컨트롤러를 변경하는 변경 안녕하세요 소용돌이 감사가 도움이 나 다시, 위대한 –