2016-06-27 3 views
0

これは、ファイル 'BAConsult.php'のテーブル行のクリック機能です。クリックすると、showconsultationdata関数が実行されます。ライブアップデートphp変数と同時に、テキストボックスに値を表示

$(document).ready(function(){ //table row click 
    }).on('click','.consultclick tr',function(e){ 
     if(e.target.tagName === "TD"){ 
      $(".consultclick tr").removeClass("highlight"); 
    $(e.target).parent().addClass("highlight");  
     }  
    var dateconsulted = $(this).attr('value'); 
    alert(dateconsulted); 
    showconsultationdata(dateconsulted); 
}); 

これは、ここに私のAjaxのスクリプト

function showconsultationdata(str) { 
if (str == "") { 
    document.getElementById("txtHint2").innerHTML = ""; 
    return; 
} else { 
    if (window.XMLHttpRequest) { 
     // code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp = new XMLHttpRequest(); 
    } else { 
     // code for IE6, IE5 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.onreadystatechange = function() { 
     if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
      document.getElementById("txtHint2").innerHTML = xmlhttp.responseText; 

     } 
    }; 
    xmlhttp.open("GET","BAConsultRecordsAJAX.php?q="+str,true); 
    xmlhttp.send(); 
} 
} 

は私がshowconsultationdataのAJAXを置い 'BAConsultRecordsAJAX.php' と呼ばれる別のphpファイルです。

テーブルの行をクリックし、$ skincareremarksと$ skinconditionremarksで
session_start(); 
require('Config/Setup.php'); 
$q = $_GET['q']; 
$consult="SELECT * FROM Counsel where nric='$_SESSION[nric]' and dateconsulted='$q'"; 

$consultresult = mysqli_query($dbconn,$consult); 

while($row = mysqli_fetch_array($consultresult)) { 
$skincareremarks=$row['skincareremarks']; 
$skinconditionremarks=$row['skinconditionremarks']; 
} 

を更新する必要があります。これらの値は 'BAConsult.php'ページのテキストボックスに表示されます。これどうやってするの?

+1

とあなたのajaxスクリプト? – madalinivascu

+0

@madalinivascu「BACondultRecordsAJAX.php」の – Marcus

+0

をチェックして、投稿を更新しました。返信したいものを「responseText」として返す必要があります。 – Jeff

答えて

0

私はJSONを使って@ Jeffの方法に従いました。しかし、xmlhttp.responseTextはJSONエンコードされたコードを表示しているだけでなく、JSON.parseメソッドが正しく実行できなかった理由であるjavascriptも表示していました。私は次のようにしました:

私のBAConsultRecordsAJAX.phpファイルで、私はこれを行いました。

echo "<div id='test1'>"; 
echo json_encode(array('first'=>$skincareremarks,'second'=>$skinconditionremarks)); 
echo "</div>"; 

私はこの出力に 'test1'という名前のdivを与えました。

次に、私のメインファイルのAJAXスクリプトで、これを行いました。

var a = JSON.parse($(xmlhttp.responseText).filter('#test1').html());  
document.getElementById("test").value=a.first; 

だから基本的に、それはxhtmlhttp.responseText出力の残りの部分を除外し、どこのid =「test1の」div要素に内容だけを選択します。

これは、この問題を抱えている人にも役立ちます。

関連する問題