テーブルを表示するページがあり、各テーブル行にフォームを埋め込み、ドロップダウン メニューからデータを送信します。AJAXを使用してページを作成しています。以下は、phpページでエコーしているものです。
echo "<table id=\"comp\">";
echo "<tr>
<th> CID </th>
<th> USERNAME </th>
<th> NAME </th>
<th> DESCRIPTION </th>
<th> ADDRESS </th>
<th> PHONE </th>
<th> DATE </th>
<th>Choose JE</th>
<th></th>
</tr>";
for($i=0;$i<$count;$i++)
{
$c = mysql_result($result, $i, 'cid');
echo "<form name=\"$i\" action=\"je_select.php\" method=\"post\">
<tr id=\"$i\">";
echo "<td>".$c."</td>";
echo "<td>".mysql_result($result, $i, 'uname')."</td>";
echo "<td>".mysql_result($result, $i, 'name')."</td>";
echo "<td>".mysql_result($result, $i, 'desc')."</td>";
echo "<td>".mysql_result($result, $i, 'address')."</td>";
echo "<td>".mysql_result($result, $i, 'phone')."</td>";
echo "<td>".mysql_result($result, $i, 'date')."</td>";
echo "<td>$dropdown</td>";
echo "<td><input type=\"hidden\" name=\"cid\" value=\"$c\"/><input type=\"submit\" value=\"Forward\"/></td>";
echo "</tr></form>";
}
echo "</table>";
問題は、フォームが正常に表示されることですが、[送信] ボタンをクリックしてもフォームが送信されないことです。それは単に何もしません。私のプロジェクトの別の同様のコードは問題なく動作しますが。
これで私を助けてください。立ち往生しており、このプロジェクトを早急に完了する必要があります。
編集
このソースコードを開いてみました。そして、私が見ているのは、フォームタグが開かれたのと同じ場所で閉じていることです:
<form name=\"$i\" action=\"je_select.php\" method=\"post\"></form>
なぜこうなった??。投稿も見ました:フォームの問題(テーブルの早い段階で閉じています)
「tr」タグの前にフォームタグを開きましたが、まだ機能していません。
もっと
もう 1 つ気づいたことは、AJAX ページのソース コードには、説明のつかない理由でテーブルにも tbody タグがあるということです。tbody タグは私の古いプロジェクトの 1 つにも存在しますが、同様のことがそこで機能します。私を助けてください。
AJAX の機能
クリックするリンク:
<div id="choices">
<ul id="clist">
<a href="#" onclick="ajax(1);"><li>Pending Complaints</li></a>
<a href="#" onclick="ajax(2);" ><li>Handled Complaints</li></a>
<a href="logout.php" ><li>Logout</li></a>
<div class="clear"></div>
</ul>
</div>
関数 ajax:
function ajax(val) {
var xmlhttp;
if (active != val) {
active = val;
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if (xhr) {
xhr.abort();
}
xhr = xmlhttp;
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("content").innerHTML=xmlhttp.responseText;
document.getElementById("banner").innerHTML=arr[val - 1];
}
}
xmlhttp.open("GET","dispcae.php?&s="+val , true);
xmlhttp.send();
}
}