【问题标题】:Updating an input field with PHP vale in JavaScript在 JavaScript 中使用 PHP 值更新输入字段
【发布时间】:2020-09-29 04:28:15
【问题描述】:

当我从 api 收到一些信息时,我想更新输入字段的值。我尝试使用:

$('#txtFirstName').val($_SESSION['jUser']['first_name']);

但是由于PHP无法在js文件中运行而发生错误。否则我该如何进行此更新? js中有没有办法不用提交就可以更新整个表单和输入字段?

我无法重新加载整个窗口,因为它会消除网站用户输入的其他信息。

【问题讨论】:

  • 您可以使用 AJAX 或执行以下操作:How do I edit PHP variable with JavaScript/jQuery?
  • 一旦您使用 JavaScript,就必须编写 JavaScript 代码,就像 Andrew 建议的那样在 AJAX 中。 $.ajax 是你的朋友。
  • 嗨,卡罗琳。既然您提到您从 API 接收信息,并且您显然可以访问会话数据,为什么不在该 API 响应中包含名字(或您想要预填充的任何其他数据)?收到响应后,您只需使用 JavaScript 填充表单。

标签: javascript php input field


【解决方案1】:

1) 从 php 脚本中将值放入 #txtFirstName

// script.php code
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    echo $_SESSION['jUser']['first_name'];
}   

// javascript code
function func(){
    $.ajax({
        type: "POST",
        url: "script.php",
        success: function (response) {
            $('#txtFirstName').val(response);
        },
        error: function (e) {
            console.log("ERROR : ", e);
        }
    });
}

2) 从 javascript 将值放入 $_SESSION['jUser']['first_name']

// javascript code
function func(){
    var your_value = "some_value";
    $.ajax({
        type: "POST",
        url: "script.php",
        data: { va: your_value },
        success: function (response) {
            console.log("value setted to session successfully");
        },
        error: function (e) {
            console.log("ERROR : ", e);
        }
    });
}

// script.php code
if ($_SERVER['REQUEST_METHOD'] === 'POST' && $_POST['va'] !='') {
    $_SESSION['jUser']['first_name'] = $_POST['va'];
    echo "ok";
}   

【讨论】:

    【解决方案2】:

    你为什么不直接 echo 来自 php 脚本的值并从 javascript 发出 AJAX 请求来获取值?这应该是推荐的方法。

    但是,也可以通过您采用的方法来完成:

    let first_name = <?php echo $_SESSION['jUser']['first_name']; ?>:
    $('#txtFirstName').val(first_name);
    

    如需进一步阅读,您可以访问How do I embed PHP code in JavaScript?

    【讨论】:

      猜你喜欢
      • 2017-11-18
      • 1970-01-01
      • 2015-05-04
      • 2021-06-14
      • 1970-01-01
      • 1970-01-01
      • 2012-09-20
      • 2016-02-22
      • 2019-01-08
      相关资源
      最近更新 更多