2011-11-28 2 views
1

나는 제출 버튼을 클릭하면 PHP 파일에 값을 전달할 수 있도록 html에 jquery를 사용하여 입력 (type="hidden")을 추가하는 프로그램이 있습니다. 그것을 처리하십시오. 그러나 숨겨진 형식이 실제로 html에 추가되지 않고 php 파일로 전달되고있는 것으로 보입니다. 이미 주소 표시 줄의 값을 보려면 method="get"을 사용하고 캐치되는 값을 보려면 print_r을 사용했지만 아무 것도 없습니다. 내 양식이 실제로 값을 전달되었는지 확인하기 위해, 나는 HTML에서jquery .append() 내 html 작동하지 않습니다

<input type="hidden" name="absent[]" value="testing" /> 

을 추가하고 값이 전달되었다하지만 JQuery와에있는 사람은 없습니다. 형태와 HTML 부분 여기

<?php 
session_start(); 
include 'connectdb.php'; 
$classID = $_SESSION['csID']; 

$classQry = "SELECT e.csID, c.subjCode, c.section, b.subj_name, e.studentID, CONCAT(s.lname, ', ' , s.fname)name 
FROM ENROLLMENT e, CLASS_SCHEDULE c, STUDENT s, SUBJECT b 
WHERE e.csID = c.csID 
AND c.csID = '" . $classID . "' 
AND c.subjCode = b.subjCode 
AND e.studentID = s.studentID 
ORDER BY e.sort;"; 

$doClassQry = mysql_query($classQry); 

echo "<table id='tableone'>"; 
    while($x = mysql_fetch_array($doClassQry)) 
    { 
     $subject = $x['subj_name']; 
     $subjCode = $x['subjCode']; 
     $section = $x['section']; 
     $studentArr[] = $x['name']; 
     $studentID[] = $x['studentID']; 


    } 
    echo "<thead>"; 
    echo "<tr><th colspan = 7>" . "This is your class: " . $subjCode . " " . $section . " : " . $subject . "</th></tr>"; 
    echo "</thead>"; 
    echo "<tbody>"; 
    echo "<tr>";   
    for($i = 0; $i < mysql_num_rows($doClassQry); $i++) 
    { 
     if($i % 7 == 0) 
     {    
      echo "</tr><tr><td id = '". $studentID[$i] . " '>" . $studentArr[$i] . "</td>";    
     } 
     else 
     { 
      echo "<td id = '". $studentID[$i] . " '>" . $studentArr[$i] . "</td>"; 
     } 

    } 
    echo "</tr>";  
    echo "</tbody>"; 
echo "</table>"; 
?> 

것 : JQuery와 : 여기

$(function(){ 
    $("td").click(function(){ 
if($(this).hasClass("on")) 
{ 
    alert("Already marked absent"); 

} 
else 
{ 

    $(this).addClass("on"); 
    var currentCellText = $(this).text(); 
    var temp = $(this).attr('id'); 
    $("#collect").append("<input type='hidden' name='absent[]' value = '" + temp + "'/>" + currentCellText); 
    alert(temp); 

} 
    }); 

$("#clicky").click(function(){ 
    $("td").removeClass("on"); 
    $("#collect").text(''); 
    $("#collect").append("Absentees: <br>") 
    alert(temp); 
}); 
}); 

은 HTML 부분입니다 여기

내 파일입니다

<form name="save" action="saveTest.php" method="post"> 
<div id="submitt"> 
    <input type="hidden" name="absent[]" value="testing"/> 
    <input type="submit" value="submit"/> 
</div> 
</form> 

그리고 여기 있어요 양식을 처리하는 PHP 파트 (saveTest.php) :

<?php 

$absent = $_POST['absent']; 
//echo "absnt" . $absent[] . "<br>"; 
echo count($absent) . "<br>"; 
//print_r($_POST) . "<br>"; 
?> 

답변

3

id가 collect 인 요소가 양식 안에 있습니까? 그것은 있어야합니다.

$("<input type='hidden' name='absent[]' />").val(temp) 
              .appendTo('form[name="save"]'); 
$('#collect').append(currentCellText); 
+0

와우 나는 완전히 실종되었다. ID 수집은 양식 안에 없습니다. 오 정말! 나는 이것을 몇 시간 동안 함께 해왔다. 그 점을 지적 해 주셔서 대단히 감사합니다. 미안하지만, 초보자 jquery 사용자가 여기 :))))) – user1056998

+0

그리고 난, 클릭하면 요소가 추가되기 때문에 그래, 난 숨겨진 요소를 사용. 그런 식으로 숨겨진 요소의 ID를 PHP 파일에서 처리 할 배열로 푸시합니다. 폼 테크닉을 사용하는 것 외에도 PHP에 배열을 전달하는 다른 방법을 모른다. – user1056998

+0

@ user1056998 알겠습니다. 더 추가하는 것이 좋습니다. 나는 갱신 할 것이다. – tvanfosson

관련 문제