Possible Duplicate:
Reference: Why does the PHP code in my Javascript not work?
我已经研究了好几天了,似乎找不到任何可以让我做我需要做的事情。
我想做的是从 Javascript 调用另一个文件中的 Php 函数。 我的联系表单上有一个验证码,还有一个 Javascript 文件,用于检查表单并在用户遗漏任何内容时提醒用户。我的问题是我无法检查验证码。
<a href ="#!/Email_Check" class="button1" onclick="$(this).closest('form').submit()"onmouseover="" style="cursor: pointer;"><span></span><strong>Send</strong></a>
这是我调用 Javascript 和 Php 的链接
var nameStr = safe_string(document.getElementById('cf_name').value);
var emailStr = safe_string(document.getElementById('cf_email').value);
var messageStr = safe_string(document.getElementById('cf_message').value);
if(nameStr == "")
document.getElementById('cf_nameCheck').value = "*Enter your name*";
else
document.getElementById('cf_nameCheck').value = "";
if(emailStr == "" || emailStr.indexOf("@") == -1 || emailStr.indexOf(".") == -1)
document.getElementById('cf_emailCheck').value = "*Enter a valid email*";
else
document.getElementById('cf_emailCheck').value = "";
if(messageStr == "")
document.getElementById('cf_messageCheck').value = "*Enter your message*";
else
document.getElementById('cf_messageCheck').value = "";
document.getElementById('cf_name').value = nameStr;
document.getElementById('cf_email').value = emailStr;
document.getElementById('cf_message').value = messageStr;
if(document.getElementById('cf_nameCheck').value == "")
if(document.getElementById('cf_emailCheck').value == "")
if(document.getElementById('cf_messageCheck').value == "")
open_page('#Email_Succesful');
这是我的 Javascript,当单击 href 时会调用它。它会检查姓名、电子邮件和消息,然后根据需要在另一个文本字段上显示错误消息。
问题是我无法在不使用 Php 的情况下检查验证码。
include_once $_SERVER['DOCUMENT_ROOT'] . '/securimage/securimage.php';
$securimage = new Securimage();
if ($securimage->check($_POST['captcha_code']))
{
$mail_status = mail($mail_to, $subject, $body_message, $headers);
}
这是我在另一个文件中的 Php 脚本,用于检查验证码是否有效,如果有效,则执行电子邮件。它在链接的 onClick 事件上调用。
那么...有人能告诉我如何在 Javascript 中调用支票吗?这将允许我检查真/假值并确定是否显示有关验证码的警告消息。
如果没有,还有其他方法可以做我需要做的事情吗?也许在 PHP 中显示警告? 如果解决方案是使用 Ajax 之类的其他东西,请也发布所需的代码,我也研究了 Ajax 和其他一些东西,但似乎也无法让它工作。
最佳答案
需要知道这一点:
Javascript(除非指定)是一种“客户端”语言,这意味着它在页面被编译并从服务器发送后在客户端浏览器上运行。这意味着代码中没有 PHP/ASP,只有 HTML 和 Javascript。
PHP、ASP、JSP 是服务器端语言,仅运行在服务器端。
所以回答你的问题,不,你不能直接让Javascript调用PHP(服务器端)函数,但你可以发布到PHP页面,然后该页面将依次执行你喜欢的任何函数。
关于php - 在 Javascript 中调用 Php 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14354147/