代码之家  ›  专栏  ›  技术社区  ›  CodeGuy

带PHP的HTML表单

  •  1
  • CodeGuy  · 技术社区  · 14 年前

    我希望有一个表单可以执行一些PHP代码,而不必打开一个全新的PHP页面。现在,我对“post”很熟悉,这样我就可以执行一个PHP文件,并使用$\u post[变量]从HTML表单调用变量,但是,打开一个新页面需要时间,我希望有一个可以在那里执行操作的表单。

    例如,是否可以编写HTML代码来创建文本框和按钮,当用户按Go时,它会在按钮旁边显示用户输入的文本。

    谢谢!

    3 回复  |  直到 14 年前
        1
  •  1
  •   T.P.    14 年前

    这里有一个HTML和PHP代码片段可以让您开始学习。它使用jquery,只使用ajax在提交按钮下写入textfarea的值。

    HTML代码段 [文件=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代码段 [文件=so.php]

    <?php
    echo $_POST['txt'];
    
        2
  •  0
  •   wajiw    14 年前

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

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

    有关Ajax的更多信息,请查看此处: http://en.wikipedia.org/wiki/Ajax_(programming )

    我建议将jquery看作Ajax包装器: http://api.jquery.com/jQuery.ajax/ 你可以在网上找到很多教程来帮助你开始学习。

        3
  •  0
  •   Justin Edmund    14 年前

    我将研究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()感兴趣。

    推荐文章