我可以在 JavaScript 点击处理程序中调用 PHP 函数吗?

Posted

技术标签:

【中文标题】我可以在 JavaScript 点击处理程序中调用 PHP 函数吗?【英文标题】:Can I call a PHP function in a JavaScript click handler? 【发布时间】:2015-03-17 23:17:38 【问题描述】:

我有一个登录系统,我想介绍一个用户可以更改他的电子邮件的功能......

但是,如果我点击更改,网站会重新加载,但什么也没有发生。

这是函数中的脚本:

function changeemail($newemail, $mysqli)  
    $sql="UPDATE members SET email = '$newemail' WHERE userid='$_SESSION[user_id]"; 
    $stmt = $mysqli->prepare($sql); 
    $stmt->bind_param(); 
    $stmt->execute(); 
    $stmt->close(); 

这里是 html 部分:

<form method="post" action="<?php echo esc_url($_SERVER['PHP_SELF']);?>"> 
    <input type="text" id="newemail"><br> 
    <input type="submit" value="Ändern!" onclick="return changeemail(this.form,
          this.form.newemail);"/>       
</form><br>

提前致谢!

【问题讨论】:

不能通过 js onclick 调用 php 函数 正如@Dagon 所说,PHP 我们是一种服务器端语言; javascript 是客户端(浏览器)端。你在混合油和水。 @LynnCrumbling 哦,我明白了......但我必须以某种方式调用这个函数...... @LynnCrumbling *Javascript 是客户端(你错了 php) @RyanJ 谢谢 - 已修复 :) 【参考方案1】:

由于 php 是服务器端,你不能这样做。但是你可以做的是使用 Javascript/jquery 加载页面 onclick 然后更新电子邮件

然后使用Javascript上传页面

 $( "#result" ).load("yourpage.php");  

【讨论】:

【参考方案2】:

无法从 javascript onclick 调用 php 函数,因为 php 是服务器端语言,而 javascript 是客户端。

我根本不需要函数,因为我可以通过 POST 获取在表单中输入的值。

【讨论】:

以上是关于我可以在 JavaScript 点击处理程序中调用 PHP 函数吗?的主要内容,如果未能解决你的问题,请参考以下文章

可以在android中调用javascript函数吗?

在HTML中,如何写js代码(或者别的)以实现flash的点击事件

在javascript中模拟鼠标点击时如何设置目标属性?

javascript中事件处理程序的异步或同步调用

JavaScript 可以做什么?

如何使用单个参数从 Javascript 调用 Objective-C 方法并在 Xcode 中处理它