通过JavaScript(JSON)用PHP对象填写表单

通过JavaScript(JSON)用PHP对象填写表单,javascript,object,Javascript,Object,我在javascript中填写了一个带有用户ID的表单,具体操作如下: (在php文件中) 好的,可以了,但是现在我需要向窗体传递一个对象 我有一个php对象 User U = new User(); <button onclick="fillOut(U)"...... ( In javascript file ) fillOut(U){ form = document.formulario; form.valor3.value = U; } Us

我在javascript中填写了一个带有用户ID的表单,具体操作如下:

(在php文件中)

好的,可以了,但是现在我需要向窗体传递一个对象

我有一个php对象

User U = new User();

<button onclick="fillOut(U)"...... 

( In javascript file )
fillOut(U){
        form = document.formulario;
        form.valor3.value = U;
}
User U=新用户();

您正在混合服务器端语言和客户端语言


您不应该尝试将其直接传递给JavaScript,而是向服务器发送一个Ajax调用,服务器将以字符串(或JSON)形式返回相应的响应,然后由JavaScript捕获并填写表单。

您尝试在JavaScript代码中直接访问PHP对象,这是不可能的

而是在脚本标记中使用json_encode将php对象呈现为Javascript对象(使其在客户端可用)

试试这个:

<?php
    User U = new User();
?>

<button onclick="fillOut()"..
<script type="text/javascript">
    var user = <?php echo  json_encode(U);?>;
    fillOut(U){
        U = U || user;
        form = document.formulario;
        form.valor3.value = U;
    }

</script>


这与PHP有什么关系??有什么想法吗??一些线索??非常感谢你!好的,谢谢。我是ajax新手,我将尝试从头开始,尝试som基本功能。好的,我会尝试,但使用ajax(如真理所说)或json_encode是最好的选择???@nasy:我通常尝试避免使用PHP生成JavaScript。这个方法也可以,我只是觉得在服务器端和客户端代码之间进行分离会更干净。@Truth同意。不过,这取决于何时选择这两种方法之一。如果我们只需要客户端的一些简单属性,我会在页面本身中使用json_编码,并避免使用AJAX。
User U = new User();

<button onclick="fillOut(U)"...... 

( In javascript file )
fillOut(U){
        form = document.formulario;
        form.valor3.value = U;
}
<?php
    User U = new User();
?>

<button onclick="fillOut()"..
<script type="text/javascript">
    var user = <?php echo  json_encode(U);?>;
    fillOut(U){
        U = U || user;
        form = document.formulario;
        form.valor3.value = U;
    }

</script>