【问题标题】:PHP & Javascript event handlingPHP & Javascript 事件处理
【发布时间】:2014-07-14 00:04:48
【问题描述】:

我知道 php 是一种服务器端语言。但是,我对如何将 html 按钮事件连接到使用 php 的页面感到困惑。我知道这可能会涉及 Javascript、一些 css 和 html 以及 Ajax。我一直在看一些例子,但它们并没有解释我正在寻找的重要部分。总之,我想查看点击事件的代码以及 php 如何收到点击通知。

如果这是一个奇怪的问题,我深表歉意。我已经习惯了旧的应用程序编程,并且正在尝试了解其中一些较新的做法。

【问题讨论】:

  • 你检查过 JavaScript 的 submit() 方法吗?通知 PHP 的常用方法是发送表单数据(通常直接使用 <form> 标签处理,但可以使用 JavaScript 处理)。
  • 有很多关于这个的教程...做更多的研究关注ajax
  • 谷歌“PHP 表单示例”和“PHP $_GET $_POST”
  • php 构建发送给客户端的页面,页面的结构是html,样式是css,javascript 让它活起来。 javascript 始终在客户端运行,php 在服务器上运行。 php 无法收到点击通知,但您可以使用 js 或客户端(将重新加载页面)$_POST 到服务器
  • 这很棒。多谢你们。我有/有旧的事件处理模型在我的脑海中根深蒂固,我想我错过了一些简单的关键概念。能够提出具体问题确实很有帮助,因为有时即使您正在阅读教程,您也会开始意识到您所理解的内容与正在阅读的内容之间存在脱节。我非常感谢 cmets 和示例。我觉得灯亮了。

标签: javascript php html css ajax


【解决方案1】:

实际的点击事件永远不会发送到 PHP。点击的结果是服务器 (PHP) 将看到的。

例如,如果您的按钮将用户重定向到不同的页面,那么只要GET 请求到达您的服务器,您的 PHP 就会“收到通知”。

对于表单元素,submit 按钮将向某个 URL 发出 POST 请求,该请求可以“解释”为点击事件。 AJAX 请求也是如此。

【讨论】:

    【解决方案2】:

    这是表单中的一个按钮

    <form id="form1">
        <div class="col-md-8">
                              <button type="submit" class="submitbtn" id="submitbtn">Save</button>
                            </div>
    </form>
    

    这是你的 java 脚本,通常 jquery 甚至 angularjs 都很棒

    $("#form1").submit(function () { 
    
    
    $.ajax({
                    type: "POST",
                    cache: false,
                    data:  $("#form1").serializeArray(),
                    success: function (data) {
                        if (data.ok) {
                           alert('Awesomeness');
                        }
                        else {
                            alert('Crapness');
                        }
    
                    },
                    error: function () {
                        console.log("html error");
                         alert('Crapness');
                    }
                });
    

    })

    然后回到您的 php 中,您只需像老式编程一样接收数据,带有一个 post 变量

    $something = $_POST['Forminput'];
    if(!empty($something)){
    
       //do something and return result
       echo "{\"ok\":\"true\", \"data\":\"some data for u\"}";
    }
    

    【讨论】:

      猜你喜欢
      • 2012-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多