通过JavaScript(JSON)填写带有PHP对象的表单

Fill out a form with PHP object via JavaScript ( JSON )

本文关键字:PHP 对象 表单 JavaScript JSON 通过      更新时间:2023-09-26

我设法在javascript中填写了一个带有用户ID的表单:

(在 php 文件中)

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

(在javascript文件中)

fillOut(UserId){
        form = document.formulario;
        form.valor3.value = UserId;
}

好的,这有效,但现在我需要将一个对象传递给表单

我在 php 中有一个对象

User U = new User();
<button onclick="fillOut(U)"...... 
( In javascript file )
fillOut(U){
        form = document.formulario;
        form.valor3.value = U;
}

不幸的是,这不起作用,javascript不接受该对象。我不确定是否有可能做到这一点。我认为我必须使用 JSON 来做到这一点,但我不知道该怎么做。

一些线索??知道吗??

谢谢!

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

你不应该尝试直接传递给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>