1

MySQL データベースからニュースレターを選択できる形式で動的に作成されたドロップダウン リストがあります。ニュースレターを選択すると、データベースのコンテンツがテキストエリアに挿入されます。

ドロップダウン リストは次のとおりです。

<?php
    echo "<select id=\"NieuwsbriefSelect\" name=\"show\">"; 
    echo "<option size =30 selected>Select</option>";
    if(mysql_num_rows($sql_result)) 
    { 
    while($row = mysql_fetch_assoc($sql_result)) 
    { 
    echo "<option value=\"$row[Titel]\">$row[Titel]</option>"; 
    } 

    } 
    else {
    echo "<option>No Names Present</option>";  
    } 
?>

jquery は次のとおりです。

<script>
// variable to hold request
var request;
$(document).ready(function() {

$('#NieuwsbriefSelect').change(function() { 
//send Ajax call to get new contents 
var selected_text = $(this).val(); 
// setup some local variables 
var $form = $("#myForm"); 
// let's select and cache all the fields 
var $inputs = $form.find("input, select, button, textarea"); 
// serialize the data in the form 
var serializedData = $form.serialize(); 

alert(serializedData); 

// fire off the request to /get_my_contents.php 
request = $.ajax({ 
url: "/get_my_contents.php", 
type: "GET", 
data: serializedData 
}); 

alert("ajax call done"); 

// callback handler that will be called on success 
request.done(function (response, textStatus, jqXHR){ 
//populate the TextArea 
alert(response); 
$("textarea[name='content']").html(response); 
}); 



});

});
</script>

get_my_contents.php:

<?php 
$title = $_REQUEST["show"]; 
mysql_connect('localhost','root','root'); 
mysql_select_db('NAW') or die (mysql_error()); 
$strSQL = "SELECT Content from NAW.Mail where Titel = '$title' "; 
$sql_result = mysql_query($strSQL); 

$row = mysql_fetch_assoc($sql_result); 

print urldecode($row["Content"]); 
?>

したがって、応答をテキストエリアに追加する必要があります。ただし、問題は、ajax リクエストが何もしていないように見えることです。これを実行してドロップダウン リストからニュースレターを選択すると、最初の 2 つのアラートが表示されますが、その後は何もしません。また、私は基本的に Jquery の経験がありませんが、他の誰かがこれを使用する必要があると提案し、現在の状態のようにするのを手伝ってくれたことにも言及します。誰かが何が間違っているかを確認したり、別の方法を提案したりできれば、それは素晴らしいことです!

注: mysql_* を使用すべきではないことはわかっています。後で PDO に変更する予定です。

4

3 に答える 3

0
var myTextareaVal = $('#message-textarea').val();

$.ajax({                                       
      type: "GET",
      url: "myPhpFile.php",           
      data: "text=" + myTextareaVal,           
      cache: false,
      dataType: "html",           
      success: function(data) {   
            $('.modal_content').find('.message:last').before(data);
      }
}); 
于 2013-05-21T09:53:45.053 に答える
0

これが問題かどうかはわかりませんが、次のようにコードを書き直します。

request = $.ajax({ 
url: "/get_my_contents.php", 
type: "GET", 
data: serializedData
success: function(data)
    {
    //populate the TextArea 
    alert(data);
    $("textarea[name='content']").html(data); 
    }
}); 
于 2013-03-28T14:07:11.577 に答える