如何将用户输入从javascript弹出窗体保存到php变量?

时间:2018-06-01 07:52:24

标签: javascript php ajax

我不知道这是否可行,但我想询问是否有可能将用户输入从javascript弹出窗体保存到php变量中。例如,在w3schools提供的代码中,用户输入显示在屏幕上,而不是这个如何将它保存到php中的变量。该示例的源代码如下

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Prompt</h2>

<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

<script>
function myFunction() {
    var txt;
    var person = prompt("Please enter your name:", "Harry Potter");
    if (person == null || person == "") {
        txt = "User cancelled the prompt.";
    } else {
        txt = "Hello " + person + "! How are you today?";
    }
    document.getElementById("demo").innerHTML = txt;
}
</script>

</body>
</html>

为了能够做到这一点,我需要学习什么? 谢谢你

3 个答案:

答案 0 :(得分:0)

&#13;
&#13;
function myFunction() {
    var txt;
    var person = prompt("Please enter your name:", "Harry Potter");
    if (person == null || person == "") {
        txt = "User cancelled the prompt.";
    } else {
        txt = "Hello " + person + "! How are you today?";
    }
    // Prepare object with data
    var data = {data: txt};
    var url = 'submit.php'
    xhttp.open('POST', url, true);
    xhttp.onreadystatechange = function() {
    if(xhttp.readyState == 4 && xhttp.status == 200) {
       console.log(xhttp.responseText);
    }
    }
    xhttp.send(JSON.stringify(data));
    document.getElementById("demo").innerHTML = txt;
}
&#13;
&#13;
&#13;

在您的submit.php中,您可以使用以下代码段

捕获帖子数据
$postData = file_get_contents('php://input');
$jsonData = json_decode($postData);
$key = 'data';
$data = $jsonData->$key;

您将拥有$data变量

中的数据

答案 1 :(得分:0)

Basicaly,您想将变量从JS推送到PHP吗? 实现此目标的唯一方法是使用http request

这是一个可以帮助您的链接:

https://www.w3schools.com/js/js_ajax_php.asp

答案 2 :(得分:0)

JavaScript是一种客户端语言,PHP是一种服务器端语言。 通过使用HTTP表单,您可以指示HTML将输入发送到PHP文件(表单数据)。

您还可以使用AJAX在前端和后端之间传输数据。 使用AJAX,您可以选择将数据存储在JSON文件结构中。

按以下顺序学习主题。

  • HTML表单和命令集发送给PHP。
  • PHP - 如何接收表单输入数据&amp;处理PHP变量。
  • AJAX
  • JSON(可选)。