jquery .append() not working for my html

Posted by user1056998 on Stack Overflow See other posts from Stack Overflow or by user1056998
Published on 2011-11-28T01:37:03Z Indexed on 2011/11/28 1:50 UTC
Read the original article Hit count: 87

Filed under:
|
|

I have a program which appends an input(type="hidden") using jquery, to an html so that when I click the submit button, it passes the value to a php file and I can process it. However, it seems that the hidden type is not really being appended to the html nor it is being passed to the php file. I already used method="get" to see the values in the address bar and print_r to see the values being catched but there's nothing. To check if my form is actually passing a value, I added a

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

in the HTML and the value got passed but the ones in the jquery aren't.

Here are my files: 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);
});
});

Here is the html part:

<?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>";
?>

Here's the html part with the form:

<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>

And here's the php part which processes the form (saveTest.php):

<?php

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

© Stack Overflow or respective owner

Related posts about php

Related posts about jQuery