現在のDBから何らかのテキストを返し、その行IDに基づいて別のフィールドを設定しようとしているforeach
ステートメントがあります。私はonclick
の機能を持つボタンを作ったが、エコーされたボタンをクリックするたびに毎回同じIDが入力される。エコーされたクリックがエコーされた行のIDを返すようにするための推奨事項はありますか?あなたは、このたびに対処するための新しい関数を定義する必要がいけないPHPとJSでフォームの値を更新
$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>";
}
あなたは 'while'ループを必要としないでくださいと'それの間foreach'置きますか? – Chay22
foreachループがchangeText()という名前の複数のJS関数を作成している場合は、同じ関数を何度も何度も再定義しています。関数は一度しか定義できません。 – larsAnders
ああ、私がそれを手に入れて、それを入手したときに更新を掲載しています。 – Tyharo