submitformdata as json(w/o页面刷新更新

发布于 2025-01-27 08:01:32 字数 1736 浏览 1 评论 0原文

我正在研究我的提交表格,其中包括OA页面刷新。下面是我的代码,它运行得很好。如果我可以以JSON格式将数据发送到我的back.php文件,那么我不需要在脚本部分中声明Al变量,这将变得更加容易。有没有一种方法可以从JSON中的表单中发送数据并在我的back.php文件中对其进行解码?这将使我的生活更加轻松。谢谢你!

front.php

<script>
    function SubmitFormData() {
        var vorname = $("#vorname").val();
        var nachname = $("#nachname").val();
        $.post("back.php", {
                vorname: vorname,
                nachname: nachname
            },
            function(data) {
                $('#results').html(data);
                $('#myForm')[0].reset();
            });
    }
</script>

<form id="myForm" method="post">
    Name: <input name="vorname" id="vorname" type="text" /><br/>
    Name: <input name="nachname" id="nachname" type="text" /><br/>
    <input type="button" id="submitFormData" onclick="SubmitFormData();" value="Submit" />
</form>

<div id="results">
    <!-- All data will display here  -->
</div>

back.php

// Here some Json decode?

// get values form input text and number
$vorname = $_POST['vorname'];
$nachname = $_POST['nachname'];

// Update SQL table with prepared statement
$query =   "UPDATE users  
                SET vorname = :vorname, nachname = :nachname  
                WHERE id = :user_id";
$pdoResult = $pdo->prepare($query);
$pdoExec = $pdoResult->execute(array(":vorname" => $vorname, ":nachname" => $nachname, ':user_id' => 2));
if ($pdoExec) {
    $success_msg = "Erfolgreich!";
} else {
}

I am working on my submit form w/o a page refresh. Below is my code which is working perfectly. How ever it would be easier if i can send data to my back.php file in Json format so i dont need to declare al variables in the script section. Is there a way to send the data from the form in json and decode it in my back.php file ? It would make my life much easier. Thank you!

front.php

<script>
    function SubmitFormData() {
        var vorname = $("#vorname").val();
        var nachname = $("#nachname").val();
        $.post("back.php", {
                vorname: vorname,
                nachname: nachname
            },
            function(data) {
                $('#results').html(data);
                $('#myForm')[0].reset();
            });
    }
</script>

<form id="myForm" method="post">
    Name: <input name="vorname" id="vorname" type="text" /><br/>
    Name: <input name="nachname" id="nachname" type="text" /><br/>
    <input type="button" id="submitFormData" onclick="SubmitFormData();" value="Submit" />
</form>

<div id="results">
    <!-- All data will display here  -->
</div>

back.php

// Here some Json decode?

// get values form input text and number
$vorname = $_POST['vorname'];
$nachname = $_POST['nachname'];

// Update SQL table with prepared statement
$query =   "UPDATE users  
                SET vorname = :vorname, nachname = :nachname  
                WHERE id = :user_id";
$pdoResult = $pdo->prepare($query);
$pdoExec = $pdoResult->execute(array(":vorname" => $vorname, ":nachname" => $nachname, ':user_id' => 2));
if ($pdoExec) {
    $success_msg = "Erfolgreich!";
} else {
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

玩物 2025-02-03 08:01:32

这应该对您有用:

使用jQuery您可以使用$(“#iDofyourform”)。serialize() to表单;

.serialize()方法在标准URL编码的符号中创建一个文本字符串。

因此,在您的脚本中,您将做类似的事情:

function SubmitFormData() {

   //in your case your form id its #myForm
   var formValues = $("#myForm").serialize();
   $.post("back.php", formValues,
        function(data) {
             $('#results').html(data);
             $('#myForm')[0].reset();
        }
   );
}

this should work for you:

with JQuery you could use $("#idOfYourForm").serialize() to the form;

The .serialize() method creates a text string in standard URL-encoded notation.

So in your script, you will do something like:

function SubmitFormData() {

   //in your case your form id its #myForm
   var formValues = $("#myForm").serialize();
   $.post("back.php", formValues,
        function(data) {
             $('#results').html(data);
             $('#myForm')[0].reset();
        }
   );
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文