我是HTML/PHP/JavaScript世界中的絕對初學者。我試圖讓這個網頁:與文檔標題使用選擇變化的數據庫數據填充輸入
- 下拉列表
- 當選擇的東西,下面填充與PostgreSQL的數據輸入字段,允許更新
- 提交按鈕更新數據庫更正來自用戶的值。
1和3都沒問題(已經試過用插入表單)。
我的代碼如下所示(簡化,沒有dbconn):
echo "<select name='listedoc' size=1>";
while ($ligne = pg_fetch_array($result, null, PGSQL_ASSOC))
{
echo '<option value="'.$ligne['id_doc'].'">'.$ligne['doc_titre']. '</option>';
}
echo "</select>";
輸入字段(簡化,有4場實際上):
<p><form name="saisiedoc" method="post" action="docupdins.php"></p>
<table border=0>
<tr><td>Texte</td>
<?php
echo '<td> <textarea name="content" cols="100" rows="30"></textarea> </td>';
?>
</tr><tr>
<td colspan=2>
<input type=submit value="Valider la saisie" name="maj"> </td>
</tr>
</table>
</form>'
然後jQuery腳本:
<script>
$(document).ready(function(){
$("select#listedoc").change(function() {
var id = $("select#listedoc option:selected").attr('value');
$.post("docsel.php", {id:id},function(data) {
});
});
</script>
php選擇字段(docsel.php):
<?php
include('../scripts/pgconnect.php');
$iddoc = $_POST['id'];
$sql="SELECT * FROM document where id_doc = $iddoc";
$result = pg_query($db, $sql);
if (!$result) {
echo "ERREUR<br>\n";
exit;}
$row = pg_fetch_row($result);
$doctyp = $row[1];
$doctitre = $row[2];
$docauteur = $row[3];
$doccontent =$row[4];
pg_free_result($result);
pg_close($db);
}
?>
無論我做什麼,我都無法取回價值觀。我嘗試value="'.$doctitre'"
在輸入, echo $doctitre
,無濟於事。我的代碼邏輯是否正確?謝謝你的幫助
感謝您的幫助。它不適合我,docsel.php不運行。一定有東西在這裏錯了:''我重讀了一百次,沒有發現任何錯誤。 – 2012-02-20 02:27:11
我建議你打開你的瀏覽器開發者控制檯,並直接把ajax-call放在那裏:$ .post(「docsel.php」,{id:'4'},function(data){console.log(data );});然後你應該看到,從docsel.php返回的數據是什麼。在這裏發佈輸出。 – mindandmedia 2012-02-20 10:02:23
感謝您的幫助和christophmccann的幫助,我能夠使我的docsel.php工作!現在我得到了一個我需要用來修改輸入字段值的Json編碼數組(最後一步!)。這是我試過的:'.post(「docsel.php」,{id:id},showResult,「text」); \t \t \t \t \t \t \t 功能showResult(RES) { VAR OBJ = JSON.parse(RES); $('#content')。val(obj.content [0];); $('#titre')。val(obj.titre [0];); }'我做錯了什麼? – 2012-02-20 15:17:06