【问题标题】:HTML form with PHP使用 PHP 的 HTML 表单
【发布时间】:2010-11-22 03:11:26
【问题描述】:

我想要一个表单,它可以执行一些 php 代码,而不必打开一个全新的 php 页面。现在,我熟悉“POST”,这样我就可以执行一个 php 文件并使用 $_POST[variable] 从 HTML 表单中调用变量,但是打开一个新页面需要时间,我想要一个立即执行操作的表单。

例如,有人可以编写 html 代码来创建一个文本框和一个按钮,并且当用户按下 go 时,它会在按钮旁边显示用户输入的文本。

谢谢!

【问题讨论】:

  • 你会使用 Javascript 来做这个,你不会提交表单。
  • 你见过jquery.com 吗?做这种事情会让你的生活变得更轻松。
  • 看起来像AJAX。
  • 你的代码是什么样的?没有通用的解决方案。

标签: php html forms post


【解决方案1】:

这里有一个 HTML 和 PHP sn-p 可以帮助您入门。它使用 jQuery 并使用 AJAX 将 textarea 的值写入提交按钮下方。

HTML 片段 [file=so.html]

<!DOCTYPE html>
<html><head><title>SO Example</title>
<script 
  type="text/javascript" 
  src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js">
</script>
</head>
<body>

<form id="frm" name="frm">
  <textarea id="txt" name="txt" rows="4" cols="40">
  </textarea><br />
  <input type="submit"><br />
  <span id="result"></span>
</form>

<script type="text/javascript">
$('#frm').submit(function(e){
  e.preventDefault();
  $.ajax({
    url:"/so.php",type:"post",dataType:"html",
    data:$('#frm').serialize(),
    success:function(obj){
      $('#result').text(obj);
    }
  });
});
</script>

</body>
</html>

PHP 片段 [file=so.php]

<?php
echo $_POST['txt'];

【讨论】:

    【解决方案2】:

    如果您想在页面加载后执行 php 代码而不打开新页面,那么您应该使用 AJAX 之类的技术。 PHP 是一个预处理器,旨在运行以处理页面,而不是用于处理之后的函数。

    通过 AJAX,您可以使用 javascript 调用由 PHP 处理的网页。然后使用返回的页面/数据,您可以执行页面功能。

    有关 ajax 的更多信息,请点击此处:http://en.wikipedia.org/wiki/Ajax_(programming)

    我建议将 jQuery 视为 ajax 包装器:http://api.jquery.com/jQuery.ajax/ 您可以在网上找到大量教程来帮助您入门。

    【讨论】:

      【解决方案3】:

      我会研究 AJAX,更具体地说是使用 jQuery 的 AJAX 调用。 POST 请求看起来有点像这样:

      $.ajax({
        type: 'POST',
        url: url,
        data: data,
        success: success
      });
      

      如果我填写它,它可能看起来像这样:

      $.ajax({
        type:    'POST',                  // Method of submission: POST or GET
        url:     'processor.php',         // The script to send to.
        data:    { id: 1, name: 'John' }, // The data to give to PHP.
        success: function(data) {         // Do something with what PHP gives back.
                   console.log(data);
                 }
      });
      

      有关 jQuery 的 AJAX 函数的更多信息,请访问:http://api.jquery.com/category/ajax/ 您可能对 jQuery.ajax()、jQuery.post() 和 jQuery.get() 感兴趣。

      【讨论】:

        猜你喜欢
        • 2012-01-10
        • 1970-01-01
        • 2014-10-14
        • 1970-01-01
        • 2011-10-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多