2011-08-26 11 views
-1

onclickイベントによって行われたajaxリクエストのdivで応答を得るには、&というPHPページで問題があります。div内の完全なajax-phpリクエストの応答に問題があります

コード:上記の事で

<html> 
<head> 

<script language="javascript"> 
function commentRequest(counter) { 
    new Ajax.Request("comment.php", 
    { 
     method: 'post', 
     postBody: 'commentbox='+ $F('commentbox_'+counter)+'&idc2='+$F('idc2_'+counter), 
     onComplete: showResponse2 
    }); 
} 

function showResponse2(counter) 
{ 
    document.getElementById('showcomments_'+counter).innerHTML= counter.responseText; 
} 

</script> 

</head> 

<body> 

<form id="form1" method="post" action="insert.php"> 
<textarea name="text1" id="text1"></textarea> 
<input type="submit" name="nbbutton" value="Submit"/> 
</form> 


<?php 
$con = mysql_connect("localhost","myuser","[email protected]"); 
if (!$con) 
{ 
die('Could not connect: ' . mysql_error()); 
} 

MySQL_select_db("mydb", $con); 

$result = mysql_query("SELECT * FROM table1 ORDER BY sl_no desc"); 

while($row = mysql_fetch_array($result)) 

{ 
echo "$row['text1']"; 
} 

$id=$row['sl_no']; 



$queryout="SELECT * FROM comments WHERE idc='$idc'"; 
$resultout=mysql_query($queryout) or die(mysql_error()); 
while($row1 = mysql_fetch_array($resultout)) 



echo "<div id='showcomments_$idc'>"; 
echo "<div id='comment'><form name='comment' id='commentfrm'onSubmit='return false;'>"; 
echo "<input type='text' value='Post a Comment' name='commentbox' id='commentbox_$idc' 

tabindex='30' size='56'>"; 
echo "<input type='hidden' name='idc2' value='$idc' id='idc2_$idc'>"; 
echo "&nbsp;<input type='submit' name='submit' value='Post' id='commentbtn' 

tabindex='40' onClick='commentRequest($idc)'>"; 
echo "</form></div>"; 

echo "$row1['comment']"; 

echo "</div>"; 


</body> 
</html> 

、私は、フォームがオンになっていると私は同じページに出力を取得し、テーブル&にテキストフィールドのいくつかの値を提出します。

これらの出力では、私は各出力にコメントを提供しました。

私はajax関数commentRequest($ idc)を呼び出すフォームを作成しました。これはheadタグで見ることができます。

ajaxによるcommetingの後、私はshowcomments_ $ idcという名前のdivの非常にページにフォームの投稿の応答を表示したいと思います。ここで

、私は希望のdivでの応答を示すことは全くできないよBT値を提出することができるよけれども...

NE1ができればPlzは私を助けて...

私は事前に

おかげで...ひどく、私は私のプロジェクトの間で立ち往生してきたとして、それを必要とする...

よろしく、 Muddser

+0

対象のdivはDOMに存在しますか?どのJSエラーが見えますか? – Rijk

+0

JS/Ajaxを使って作業する場合、FirebugのFirefox拡張機能は、あなたがやっていること(要求とその応答)と何がうまくいかない(エラー)かについて多くの洞察を提供します。 Ajaxの呼び出しが「機能していない」場合、その原因はJS内のエラーになる可能性がありますが、サーバーサイドスクリプトのエラーにもなります。問題を見つけるにはさらに詳しい情報が必要です。 – Rijk

答えて

2

あなたにr showResponse2()関数では、counterを文字列(要素IDを検索する場合)とAJAX応答を含むオブジェクト(レスポンステキストを割り当てる場合)の両方として扱います。あなたの関数をcommentRequestに変更してください:

function commentRequest(counter) { 
    new Ajax.Request("comment.php", 
    { 
     method: 'post', 
     postBody: 'commentbox='+ $F('commentbox_'+counter)+'&idc2='+$F('idc2_'+counter), 
     onComplete: function(response) { 
      document.getElementById('showcomments_'+counter).innerHTML= response.responseText; 
     } 
    }); 
} 
+0

私も友達も試してみましたが、うまくいきません...リクエストは完了しましたが、レスポンスは表示されません...ページをリフレッシュするともう1つのコメントが追加されていますあなたが他に何ができるかを知っていればPLZの助けを借りてください? – Muddser

+0

さて、あなたのコードを再フォーマットした後、それを見ることができます。変数counterは応答ハンドラでは使用できません。上記の新しい 'commentRequest()'を試してください。また、ブラウザのJavaScriptコンソール(例:[Firebug](http://getfirebug.com/))を開いてエラーを探し、そのようなバグを修正するのは簡単です。 – Crack

+0

thnxxxxxxxx非常に非常に..... .....無限の時間thnx ....それはOKですnw .... thnx – Muddser

関連する問題