0
これは正しく動作しないコードのスニペットです。何らかの理由でクローズ</script>
のjavascriptのタグが認識されません。 javascriptは、各フォームで生成されたすべてのチェックボックスをオンまたはオフにするチェックボックスです。それぞれのフォームは分かれていますので、PHPループに含めることでコードをスリム化しようとしました。私はこのコードのバージョンが動作していたが、同じjavascriptサンプルを複数回繰り返していた。これを違うやり方で考えることができるのであれば、自由にコードを改善してください。現時点では、なぜ私はJavaScriptの終了タグが機能しないのかを理解する必要があります。JavascriptタグはPHPループ内に閉じないでください
foreach($words as $word){
$i++;
$qry = "Select * FROM subs WHERE type = '$word'";
$q = mysql_query($qry) or die(mysql_error());
?>
<script type="text/javascript">
checked=false;
function checkedAll<?=$i?>(frm<?=$i?>)
{
var aa= document.getElementById('frm<?=$i?>');
if(checked == false) {
checked = true
}
else{
checked = false
}
for(var i =0; i < aa.elements.length; i++) {
aa.elements[i].checked = checked;
}
}
</script>
<?
echo '<form action="attacher.php" method="POST" id="frm'.$i.'" >';
echo '<input type="hidden" name="template" value="16">';
echo "<table border='1' cellpadding='10'>";
echo "<tr><td colspan=4 align='center'><strong>$word</strong></td> <td><input type='submit' value='Add to Template'></td></tr>";
echo "<tr><th><input type='checkbox' name='checkall".$i."' onclick='checkedAll".$i."'(frm".$i.");'></th><th colspan=3> CONTROLS</th> <th>$word's</th> </tr>";
// loop through results of database query, displaying them in the table
while($row = mysql_fetch_array($q)) {
// echo out the contents of each row into table
echo "<tr>";
echo '<td><input type="checkbox" name="word[]" value="'.$row['id'].'"</td>';
echo '<td><a href="edit.php?id=' . $row['id'] . '">Edit</a></td>';
echo '<td><a href="delete.php?id=' . $row['id'] . '">Delete</a></td>';
echo '<td><a href="attacher.php?template=16&word=' . $row['id'] . '">Attach</a></td>';
echo '<td>' . $row['word'] . '</td>';
echo "</tr>";
}
// close table>
echo "</table><br>";
echo '</form>';
}
?>
確かにPHPのショートタグは、コンフィギュレーションで許可されていますか? – Alfabravo
* JavaScriptタグ*とは?編集:ああ、あなたはHTMLの 'スクリプト'タグについて話している? –
なぜ、