N00b警报;我知道这很危险,所以请原谅我的无知......我已经在这里和其他地方完成了所有相关的问题,但我似乎无法理解肯定包含在答复中的答案: - (
我正在向一个页面发布记录ID,我想要一个表单显示相关记录的内容。我正在HEAD部分中使用此脚本正确获取记录(使用警报确认)(jquery 1.9也被调用):
<script type="text/javascript">
function getSelectedCustomer () {
...use the id to get the right record...
databaseAPI.callback = function() {
if (databaseAPI.error) {
alert("Database Error: " + databaseAPI.error);
}
else {
var customerRecord = databaseAPI.result;
alert("Test Callback: " + new String(customerRecord.full_name));
$("#quoteForm").load(customerRecord);
}
return;
};
databaseAPI.ajaxGet();
}
window.onload = getSelectedCustomer;
</script>
...以及要加载的BODY中的表单:
<form method="post" id="quoteForm" action="process_quote.php">
<table>
<tbody>
<tr>
<td>Name</td>
<td><input type="text" value="<?php $customerRecord['full_name']; ?>" name="full_name"></td>
</tr>
...other bits of the form...
<tr>
<td>
<input type="submit" value="Submit">
</td>
</tr>
</tbody>
</table>
</form>
我知道我错误地把各种各样的东西混在一起。有人可以让我理解该做什么吗?
Michael的回答解决了表单中的INPUT字段。没有提到我也有SELECT字段:
<select size="0" name="email_sent">
<option value="No">No</option>
<option value="Yes">Yes</option>
</select>
将INPUT更改为SELECT有效。
答案 0 :(得分:0)
您缺少的是执行代码的地方。在发送到浏览器之前,PHP代码正在服务器上执行。然后,浏览器呈现Javascript。你不能在Javascript和PHP之间来回传递变量。
您想要使用Javascript注入名称。我看到你已经在使用jQuery了,所以已经为你完成了繁重的工作。从PHP文件中删除value="<?php $customerRecord['full_name']; ?>"
,并将$("#quoteForm").load(customerRecord);
替换为$("#quoteForm input[name='full_name']").val(customerRecord.full_name);
应该有效,根据您的具体情况可能需要一些变化。至少它应该让你走上正确的道路。