0

私は ajax に取り組んでいます。ajax 関数は正常に動作していますが、問題は 3 つの div 間の ajax 応答を壊すことです。詳しく説明しましょう。

1. 1 つの選択ボックスと 3 つの入力があるページがあり、onchangeイベントによって入力ボックスに ajax 値が必要です。

さらに説明するために、ここに私のコードがあります(Ajax Response):

<?php
include("include/config.php");
$enrol=$_GET['q'];
$query=mysqli_query($con,"select * from dbo_tbmembermaster where vc_enrol_no='$enrol'");
$result=mysqli_fetch_assoc($query);
$mem_id=$result['nu_member_id'];
$result['nu_member_id'];
$query2=mysqli_query($con,"select SUM(nu_amount) as amt_sub from dbo_tbmemberdues where nu_member_id='$mem_id' and vc_due_for='Subscription'");
$result2=mysqli_fetch_assoc($query2);
echo '<div id="d1">';
echo $amt_sub=$result2['amt_sub'];
echo '</div>';

$query3=mysqli_query($con,"select SUM(nu_amount) as amt_fund from dbo_tbmemberdues where nu_member_id='$mem_id' and vc_due_for='Employees Welfare Fund'");
$result3=mysqli_fetch_assoc($query3);
echo '<div id="d2">';
echo $amt_fund=$result3['amt_fund'];
echo '</div>';

$query4=mysqli_query($con,"select SUM(nu_amount) as amt_fund from dbo_tbmemberdues where nu_member_id='$mem_id' and vc_due_for='Cause List'");
$result4=mysqli_fetch_assoc($query4);
echo '<div id="d3">';
echo $amount=$result4['amt_fund'];
echo '</div>';
?>

これが私の応答です。3 つの異なる div にいくつかの値があることに注意してください。<div id="d1">,<div id="d2">,<div id="d3">

2. Id によって私のページでこの応答を取得しています<div id="result"></div>。したがって、Ajax呼び出しの後、ページにd1、d2、d3があり、これらのdivの値を3つの入力ボックスに入れようとしています。私は次のようにjavascriptでこれを行っています:

function showdues()
{
var aa=document.getElementById("d1").innerHTML;
//alert("vhsgfhsg");
document.getElementById("sub_due").value=aa;
}

そして、私は ajax 関数とこの関数を thisのonchangeように呼び出し<select name="dues" onchange="Javascript: showUser(dues.value);showdues();">ていますが、ajax 関数は機能していますが、これは機能しておらず、入力ボックスに何も入っていません。

これを行うのは奇妙な考えかもしれませんが、私は最善を尽くし、あなたのあらゆる種類のアイデア、何が欠けているのか、何をしなければならないのか..もっと良いアイデアがあれば教えてください....

前もって感謝します。

4

2 に答える 2

0

問題が何であるかは完全には明らかではありませんが、次の 2 つの方法があります。

  1. php からすべての html を返し、(3 つの選択すべてを保持する) ボックスのすべての内容を一度に置き換えます。
  2. 3 つの選択ボックスに関する情報を含む json 文字列を返し、javascript で html をビルド/選択的に置き換えます。

(もちろん、2 つを組み合わせて使用​​することもできます)。

そして、SQL インジェクションの問題があります。

于 2013-08-17T10:27:58.427 に答える