我想我的合并PHP文件到一个共同的类文件,但我不知道如何调用该函数,而不是PHP页面。 我怎么能在我的HTML页面的形式部分调用sendEmail()?
HMTL
<form action="form_class.php" id="frmAirport" method="post">
Full Name: <span style="white-space: pre;">
</span><input name="name" type="text" /><br /><br />
Email Address: <input name="email" type="text" /><br /><br />
Subject: <span style="white-space: pre;">
</span><input name="subject" type="text" /><br /><br />
<textarea id="txtComments" cols="30" rows="10">Comments</textarea><br />
<input type="submit" value="Send" />
</form>
<?php
function addPerson() {
//do stuff here
}
function sendEmail() {
//do some stuff here
}
?>
你不能直接调用PHP函数。 但是,如果你的PHP文件的格式如何与只有两个功能显示在这里,你可以作为一个POST场传递一个标志,有一个逻辑块确定基于该标志,该标志函数调用。 这是不理想,但它会工作为您的目的。 然而,这将迫使页面刷新,你可能会需要加载不同的页面的函数返回,所以你可能想简单地实现这个作为Ajax调用,避免页面刷新后。
根据您的评论(使用jQuery阿贾克斯)编辑:
我现在用的是阿贾克斯()jQuery的功能。 我的意图创建一个包含不同的HTML形式的多种功能,一个PHP文件。 - tmhenson
那么在这种情况下,你可以有你的文件包含的逻辑块“路线”的要求,以正确的函数,最后返回结果。
我会尽力为你想基于一些简单的jQuery做的一个选项。 假设你有这样的事情:
Java脚本:
$("#button1").click(function(e){
e.preventDefault(); // prevents submit event if button is a submit
ajax_route('ap');
});
$("#button2").click(function(e){
e.preventDefault(); // prevents submit event if button is a submit
ajax_route('se');
});
function ajax_route(action_requested){
$.post("ajax_handler.php", {action : action_requested}, function(data){
if (data.length>0){
alert("Hoorah! Completed the action requested: "+action_requested);
}
})
}
PHP(内ajax_handler.php)
<?php
// make sure u have an action to take
if(isset($_POST['action'])
switch($_POST['action']){
case 'ap': addPerson(); break;
case 'se': sendEmail(); break;
default: break;
}
}
function addPerson() {
//do stuff here
}
function sendEmail() {
//do some stuff here
}
?>
你不能。 PHP只运行在服务器上。 您可以使用JavaScript AJAX调用来调用服务器上的PHP脚本,或使用常规的表单提交,而是直接调用从客户端HTML特定的PHP函数? 不可能。
我不知道如果我uderstand权利,但调用函数/方法,你可以使用隐藏的输入:
<!-- form -->
<input type="hidden" name="action" value="sendEmail" />
// handle file
<?php
$actionObject = new Actions();
if (method_exists($actionObject, $_POST['action'])) {
$actionObject->{$_POST['action']};
}
?>
addPerson的和sendEmail不听他们应该是一个类的方法。 尝试使用类只用方法女巫有关。 要调用方法,你可以把它定义为静态的,或者你必须让类的实例,然后调用方法。