Php jquery.append()不适用于我的html
我有一个程序,它使用jquery将输入(Php jquery.append()不适用于我的html,php,jquery,html,Php,Jquery,Html,我有一个程序,它使用jquery将输入(type=“hidden”)附加到html中,这样当我单击submit按钮时,它会将值传递给php文件,我可以处理它。但是,似乎隐藏类型并没有真正附加到html中,也没有传递到php文件中。我已经使用method=“get”查看地址栏中的值,并使用print\r查看捕获的值,但是没有任何内容。为了检查我的表单是否真的传递了一个值,我添加了一个 <input type="hidden" name="absent[]" value="testing" /
type=“hidden”
)附加到html中,这样当我单击submit按钮时,它会将值传递给php文件,我可以处理它。但是,似乎隐藏类型并没有真正附加到html中,也没有传递到php文件中。我已经使用method=“get”
查看地址栏中的值,并使用print\r
查看捕获的值,但是没有任何内容。为了检查我的表单是否真的传递了一个值,我添加了一个
<input type="hidden" name="absent[]" value="testing" />
在HTML中,传递了值,但jquery中的值没有传递
这是我的档案:
jquery:
$(函数(){
$(“td”)。单击(函数(){
if($(this).hasClass(“on”))
{
警报(“已标记为不存在”);
}
其他的
{
$(此).addClass(“on”);
var currentCellText=$(this.text();
var temp=$(this.attr('id');
$(“#收集”).append(“+currentCellText);
警报(临时);
}
});
$(“#clicky”)。单击(函数(){
$(“td”).removeClass(“on”);
$(“#收集”)。文本(“”);
$(“#收集”)。附加(“缺席者:
”)
警报(临时);
});
});
以下是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>";
?>
id为collect
的元素是否在表单中?这是必须的
$("<input type='hidden' name='absent[]' />").val(temp)
.appendTo('form[name="save"]');
$('#collect').append(currentCellText);
$(“”).val(临时)
.appendTo('form[name=“save”]”);
$('#collect')。追加(currentCellText);
哇,我完全错过了。id集合不在表单中。哇,真的!我已经用这个工作了好几个小时了。非常感谢你指出这一点。不过,很抱歉,这里的新手jquery用户:()()()())是的,我使用了一个隐藏元素,因为只有当我单击。这样,我将这些隐藏元素的id推送到一个数组中,我将在php文件中处理这个数组。除了使用表单技术之外,我不知道其他方法可以将数组传递给php。@user1056998我明白了,添加更多也可以。我会更新的。谢谢更新,现在更清晰了。顺便问一下,是否有其他方法可以将隐藏元素的id放入jquery数组中,以便在单击submit按钮后将其提交到表单?我只是好奇是否有其他方法可以让我学习新技术。提前感谢:))我想您可以将其保存在javascript变量中,然后在通过AJAX发布时将其序列化。这种方法同样有效。
<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
$absent = $_POST['absent'];
//echo "absnt" . $absent[] . "<br>";
echo count($absent) . "<br>";
//print_r($_POST) . "<br>";
?>
$("<input type='hidden' name='absent[]' />").val(temp)
.appendTo('form[name="save"]');
$('#collect').append(currentCellText);