为了账号安全,请及时绑定邮箱和手机立即绑定

如何在不重定向到操作文件的情况下提交 PHP 表单?

如何在不重定向到操作文件的情况下提交 PHP 表单?

PHP
开满天机 2021-06-18 21:08:07
我通过单击 index.php 中带有 $("#btn").load("form.php") 的按钮加载表单,我想避免在提交后将页面重定向到操作文件并在表中添加一个项目这是在表格下。我的演示在http://price.parag.website<?php include "../connection.php" ?><h1>Add CPU</h1><form method="post" action="actions/cpu_action.php">    <label for="name">Name</label>    <input type="text" name="cpu_name" />    <label for="price">Price</label>    <input type="text" name="cpu_price" />    <input type="submit" value="Add" /></form><?php$sql = "SELECT id, cpu_name, cpu_price FROM cpu";$result = $conn->query($sql);if ($result->num_rows > 0) {    // output data of each row    echo "<table>    <thead>    <tr>    <th>ID</th>    <th>CPU NAME</th>    <th>CPU PRICE</th>    </tr>    </thead>";    while($row = $result->fetch_assoc())    {    echo "<tr>";    echo "<td>" . $row['id'] . "</td>";    echo "<td>" . $row['cpu_name'] . "</td>";    echo "<td>" . $row['cpu_price'] . "</td>";    echo "</tr>";    }    echo "</table>";} else {    echo "0 results";}
查看完整描述

2 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

<h1>Add CPU</h1>


<form id="formupload" method="post" action="actions/cpu_action.php">

    <label for="name">Name</label>

    <input type="text" name="cpu_name" />

    <label for="price">Price</label>

    <input type="text" name="cpu_price" />

    <input type="submit" value="Add" />

</form>

现在我们必须清除表单的默认操作(我将使用 jquery)


     $('#formupload').on('submit',function(e){

             e.preventDefault();

         var formData = new FormData(this);

            $.ajax({

                type:'POST',

                url: $('#formupload').attr('action'),

                data:formData,

                cache:false,

                contentType: false,

                processData: false,

                success:function(result){

         if(condition){}

         else{}

    }

    })

   })

试试这个它会工作


查看完整回答
反对 回复 2021-06-19
?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

<button type="button" onclick="loadDoc()">Request data</button>

<script>

function loadDoc() {

  var xhttp = new XMLHttpRequest();

  xhttp.onreadystatechange = function() {

    if (this.readyState == 4 && this.status == 200) {

      document.getElementById("table").innerHTML = this.responseText;

    }

  };

  xhttp.open("POST", "pageToPost.php", true);

  xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

  xhttp.send("data1=bar&data2=foo");

}

</script>

这将获取响应并使用响应更新带有 id 的元素table,因此请确保它在 html 中。


查看完整回答
反对 回复 2021-06-19
  • 2 回答
  • 0 关注
  • 115 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信