Javascript 使用PHP和JS更新表单值
我有一个Javascript 使用PHP和JS更新表单值,javascript,php,Javascript,Php,我有一个foreach语句,它从当前数据库返回一些文本,我正试图根据该行ID填充另一个字段。我制作了一个带有onclick函数的按钮,但每次单击回显按钮时,它都会填充相同的ID。是否有任何建议可以使回显单击返回该回显行的ID $a = 0; foreach ($announcement as $row) { //Displays title, startDate, endDate from announcement table from database
foreach
语句,它从当前数据库返回一些文本,我正试图根据该行ID填充另一个字段。我制作了一个带有onclick
函数的按钮,但每次单击回显按钮时,它都会填充相同的ID。是否有任何建议可以使回显单击返回该回显行的ID
$a = 0;
foreach ($announcement as $row) { //Displays title, startDate, endDate from announcement table from database
$x[$a] = $row["announcementID"];
?>
<script type="text/javascript">
function changeText(value) {
document.getElementById('title').value = <?php echo(json_encode($row["announcementID"])); ?> ;
}
</script>
<?php
//echo "<h2 style=width:auto;padding:8px;margin-top:-30px;font-size:18px;><a style=text-decoration:none;color:#c4572f; >".$row["title"]."</a></h2><br>";
//echo "<p style=padding-top:10px;>".$row["content"]."</p><br>";
//echo "<p style=font-size:10px;>Posted: ".$row["startDate"]."</p><br>";
echo "<input type=button onclick=changeText".$x[$a]."() value=Edit>";
echo "<p style=font-size:10px;>Posted: ".$x[$a]."</p> <br />";
//echo "<h5 style=line-height:2px;margin-top:-15px;><p>_____________________________________</p></h5><br>";
}
$a=0;
foreach($announcement as$row){//从数据库的公告表中显示标题、开始日期和结束日期
$x[$a]=$row[“公告ID”];
?>
函数changeText(值){
document.getElementById('title')。value=;
}
您不需要每次都定义一个新函数来处理这个问题,您可以在onclick调用中将元素传递到函数中并获取id
在js脚本中
<script>
function changeText(elem) {
document.getElementById('title').value = elem.id;
}
</script>
函数changeText(elem){
document.getElementById('title')。value=elem.id;
}
你的php
foreach ($announcement as $row) { //Displays title, startDate, endDate from announcement table from database
$x[$a] = $row["announcementID"];
//echo "<h2 style=width:auto;padding:8px;margin-top:-30px;font-size:18px;><a style=text-decoration:none;color:#c4572f; >".$row["title"]."</a></h2><br>";
//echo "<p style=padding-top:10px;>".$row["content"]."</p><br>";
//echo "<p style=font-size:10px;>Posted: ".$row["startDate"]."</p><br>";
echo '<input id="'.$x[$a].'" type=button onclick="changeText(this)" value="Edit">';
echo "<p style=font-size:10px;>Posted: ".$x[$a]."</p> <br />";
//echo "<h5 style=line-height:2px;margin-top:-15px;><p>_____________________________________</p></h5><br>";
}
foreach($announcement as$row){//从数据库的公告表中显示标题、开始日期和结束日期
$x[$a]=$row[“公告ID”];
//回显“.$row[“title”]。
”;
//echo“”$row[“content”]。“
”;
//echo“发布:“.$row[“startDate”]。”
”;
回声';
echo“发布:“.x[$a]”“
”;
//回声“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
”;
}
while
循环并将foreach
放在它之间,您不需要吗?如果您的foreach循环正在创建多个名为changeText()的JS函数,然后你一次又一次地重新定义同一个函数。你只能定义一次函数。啊,我明白了,我会处理它,并在得到它后发布更新。我把我的帖子编辑得一干二净。我对如何用我的代码实现你的解决方案感到困惑。这echo(json_encode($row[“announcementID”])中有什么内容
?这应该会回显按钮所附行的DB中存储的id。好的,如上所述,只是为了澄清,脚本标记中的代码添加一次……它将处理元素上的onclick事件。我将整理一点,也很完美!工作得很好,正是我所寻找的。