【问题标题】:Cannot POST form to another php page无法将表单发布到另一个 php 页面
【发布时间】:2017-08-14 08:54:18
【问题描述】:

它应该很简单,但它对我不起作用。我需要获取用户输入以形成并使用 GET 或 POST 在另一个 php 页面上打印(因为我认为这是最简单的选择,我只是在构建原型) 我的 default.php 代码:

    <html>
<head>
<script src="pytimber.js"></script>
</head>
<body>
<p>Enter the parameter</p>
<form method="post" action="php/plot.php"> 
<input type="text" name='parameter' value="check"/>
<input type="button" value="Plot" class="homebutton" id="plot" 
onclick="plot()"/> 
</form>
</body>
</html>

Javascript 代码:

>

function plot() {
	alert('JI')
document.location.href = 'php/plot.php';
}

function goBack() {

document.location.href = '../Default.php';
}

第二个php页面代码:

<html>
    <head>
  <script src="../pytimber.js"></script>
<?PHP
$username = $_POST["parameter"];
print ($username);
?>
    </head>
<html/>

【问题讨论】:

  • 当您执行document.location.href = 'php/plot.php'; 时,您并没有发布任何参数,您只是在重定向导航器!要发布数据,您必须使用 AJAX
  • 为什么是脚本?只需使用常规的submit 按钮即可完成。 &lt;input type="button" ... -> &lt;input type="submit" ...
  • 如果你是直接调用php函数,为什么还要通过javascript呢?只需使用
  • 您真的不需要脚本来发布数据,只需使用普通表单和提交按钮即可。如果你真的想使用 javascript,那么你可以做一些像这样简单的事情 window.open('exportToExcel.php?data='+data);

标签: javascript php html post get


【解决方案1】:

第一个:简单地删除你所有的javascript

第二个:button类型改为submit

<input type="submit" value="Plot" name="submit" class="homebutton" id="plot" /> 

3rd : 在第二页使用isset() 函数回显 post 变量

    if(isset( $_POST["parameter"]))
    echo $_POST["parameter"];

【讨论】:

    【解决方案2】:

    其实你不需要js代码,你只需要在你的按钮上打个名字,然后改变类型提交到另一个页面:

    <?php if(isset($_POST["buttonname"])){
       echo $_POST["parameter"]; } ?>
    

    【讨论】:

      【解决方案3】:

      正如这里不同人所说的,最简单的方法是利用提交按钮的强大功能,让 HTML 来处理其余的事情。

      但是,当您使用 javascript 来“发布”表单时,让我解释一下如何做到这一点。

      通过在表单中​​添加一个id,并使用它通过js提交,它就可以工作了。

      更改表单标签并添加一个id:

      <form method="post" action="php/plot.php" id="js_form">
      

      将绘图功能更改为:

      function plot() {
          alert('JI');
          document.forms["js_form"].submit();
      }
      

      这样,javascript 将充当提交按钮并将所有数据发送到 plot.php

      【讨论】:

        【解决方案4】:

        要么

        将按钮类型从“按钮”更改为“提交”

        或者

        js函数'plot'的变化

        函数绘图(){

        document.forms[0].submit(); 或者 document.getElementById('formid')'.submit;

        }

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-10-16
          • 1970-01-01
          • 2012-06-24
          • 2015-04-18
          • 2017-10-12
          • 2015-05-05
          • 1970-01-01
          相关资源
          最近更新 更多