0

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>

我知道我错误地将各种东西混合在一起。有人可以让我弄清楚该怎么做吗?

迈克尔的回答解决了表格中的 INPUT 字段。没有提到我也有 SELECT 字段:

<select size="0" name="email_sent">
    <option value="No">No</option>
    <option value="Yes">Yes</option>
</select>

将 INPUT 更改为 SELECT 有效。

4

1 回答 1

0

您缺少的是执行代码的位置。PHP 代码在发送到浏览器之前在服务器上执行。Javascript 然后由浏览器呈现。您不能在 Javascript 和 PHP 之间来回传递变量。

您想用 Javascript 注入名称。我看到您已经在使用 jQuery,因此已经为您完成了繁重的工作。value="<?php $customerRecord['full_name']; ?>"从 PHP 文件中删除,并替换$("#quoteForm").load(customerRecord);$("#quoteForm input[name='full_name']").val(customerRecord.full_name);

应该可以工作,根据您的具体情况可能需要一些变化。至少它应该让你走上正确的道路。

于 2013-04-03T20:30:13.900 回答