2016-12-12 14 views
1

form to give scores which is coming totally from dynamicフォームを提出する方法動的な列と行で構成

これは形式です:

<table id="participants" class="table table-bordered table-hover table-responsive text-center"> 
<form action="gdcontroller.php" method="post" id="gdtestFrom" enctype="multipart/form-data"> 
<input type="hidden" name="action" value="groupDiscussion"/> 
<h3 class="text-center">Over All Score Sheet </h3> 
<thead class="alert-success"> 
    <tr> 
     <th class="text-center">Participant</th> 
     <?php 
      $skills = $conn->query("SELECT * from r_job_skill js 
      LEFT JOIN tbl_skillset ss ON ss.ssid=js.title 
      WHERE js.gdskill=1 AND id_job=54"); 
      while($skill = $skills->fetch_assoc()){ ?> 
      <th class="text-center"><?php echo $skill['name'];?></th> 
     <?php } ?> 

     <th class="text-center">Over All Score</th> 
     <th class="text-center"><a class="text-center btn btn-success addStudent">+ Add Student</a></th> 
    </tr> 
</thead> 

<tbody id="tbodyid"> </tbody> 
<div class="text-center"><button class="btn btn-primary text-center" type="submit" id="submitgdTest">SUBMIT GD TEST</div></button> 
</form></table> 

そして、より多くの機能を追加私のジャバスクリプト:

var studentCount = 1; 
$("#gdBasic").click(function() { 
var skillFrame = ''; 
<?php 
$skills = $conn->query("SELECT * from r_job_skill js LEFT JOIN tbl_skillset ss ON ss.ssid=js.title WHERE js.gdskill=1 AND id_job=54"); 
while($skill = $skills->fetch_assoc()){ ?> 
skillFrame +='<td><input class="setScore" type="number" name="test[][<?php echo $skill['ssid'];?>]"></td>'; 
<?php } ?> 

$("#success_message").hide(); 
$("#warning_message").hide(); 
$.ajax({ 
    url: "gdcontroller.php", 
    method: "POST", 
    data: {gdbasicData: $("#gdbasicForm").serialize(), 'action':'getStudentsForGD'}, 
    dataType: "json", 
    success: function (response) { 
     var stundetFrame = ''; 
     if(response['success']==true){ 
      $("#startTest").show(); 
      //console.log(response['success']); 
      $.each(response['studentData'], function(i, student) { 

       stundetFrame += '<tr><td><div><img class="participantphoto" src=" '+student.profile_pic+' " width="50" /></div>'+student.student_fname+' '+student.student_lname+'</td>'+skillFrame+'<td>-</td><td><span class="removeStudent btn btn-danger text-center">Remove Student</span></td></tr>'; 
      }) 

      $('#participants tr:last').after(stundetFrame); 
      }else{ 
     } 
    }, 
    error: function (request, status, error) { 
    } 
}); 
}); 

と私がしようとしていますフォームデータをコントローラに送信することもできますが、

入力タイプの隠し値が来ています。どのアレイも見ることができます。

この画像データをコントローラに送信するにはどうすればいいですか? iはcotrollerで試行これは配列を参照する:

if ($_POST['action'] == 'groupDiscussion') {   
    echo "<pre>"; 
    print_r($_POST); 
    exit; 

答えて

2

使用シリアライズを()方法は、提出の文字列としてフォーム要素のセットをコードします。

.serialize()メソッドは、標準のURLエンコード表記でテキスト文字列を作成します。個々のフォームコントロールを選択したjQueryオブジェクトに作用することができます。

Refrence

+0

私もまだ私は、任意の配列を参照カントその方法を試みました。 {gdData:$( "#gdtestFrom")} serialize()、 'action': 'groupDiscussion'}、 ' –

+0

私は解決策を得ました。テーブルの外にフォームを置くだけでシリアル化することによって –

+0

それは素晴らしいです。コーディングをお楽しみください –

関連する問題