我正在努力尝试找出 jquery ajax 的东西。我有一个 HTML 对话框出现,必须输入一些信息。当他们点击“添加”时,它会保存数据(call-add_patient.php),然后我想要的是在原始页面上出现名称(“成功”)部分。
如果列表中没有人,那么什么也不会发生(尽管它确实进入了数据库,所以这似乎是一个 ajax 误解)。如果列表中至少有一个人,则添加新人。
所以,我不明白为什么这只有在列表中有人的情况下才有效。我尝试放置一个默认的空人,并希望这会起作用。它没有。
的JavaScript:
$.ajax({
url: 'call-add_patient.php',
type: 'get',
data: {
name: name.val(),
address: address.val(),
city: city.val(),
state: state.val(),
zip: zip.val(),
checked: ids.join(),
CUID: CUID.val(),
losap: losap.val(),
ccnumber: ccnumber.val()
},
dataType: 'json',
cache: false,
success: function(data) {
$("table#users tbody").append("<tr>" + "<td>" + " <a class=\"cjbutton\" style=\"font-size: 6pt;\" href=\"letter/letter.php?UID=" + data.uid + "&losap=" + data.losap + "\">print</a>" + data.name + "</td>" + "</tr>");
},
async: false
});
创建 HTML 表的 PHP:
print '<table id="users" class="ui-widget" style="width: 100%;"
style="align: left;"><tbody>';
print '<tr><td> </td></tr>';
while ($row_pt = mysql_fetch_assoc($result_pt)) {
print ' <tr width="100%" align="left"><td align="left">';
print ems_print($row_pt['UID']);
print $row_pt['Patient Name'];
print '</td> </tr>';
}
print '</tbody></table> <br/> ';
call-add_patient.php 的底部:
echo json_encode(array('uid' => $id, 'name' => $name ));
我很困惑,真的需要一些帮助。
编辑: 这是我认为应该工作但没有工作的一段代码。我没有包括 call-add_patient.php,因为我不认为这是一个问题(著名的遗言)。请注意,“警报”提供了正确的名称,所以我认为这是有效的。我正在阅读jQuery 中的 Add table row并试图模仿这些想法,但它似乎仍然不起作用。
<body>
<?
if( isset( $_REQUEST['submit'] ) )
{
print "here";
?>
<script>
$.ajax({
url: 'call-add_patient.php',
type: 'get',
data:{ name: 'anme'},
dataType: 'json',
success: function(data) {$( "table#users tbody" ).append( "<tr><td>" + data.name + "</td><td></td></tr>" ); alert( data.name ); },
async:false
});
</script>
<?
}
?>
<table id="users">
<tbody>
<tr><td>asdf</td><td>asdf</td></tr>
</tbody>
</table>
<form action="index.php" method="post">
<input type="submit" name="submit">
</form>
</body>