0

晚上好.. 我有一个表格,您可以在其中将工作分配给工作人员,但是,如果该工作已经分配,​​那么用户可以选择重新分配它或返回上一页。所以我正在尝试编写确认警报的语法,根据他的选择将用户重定向到一个页面或另一个页面,我将它放在头部部分,它是这样的:

function show_confirm() {
    var con = confirm("Already assigned.. would you like to reassign?");
    if (con ==true) {
       window.location = "reassign.php"
    } else {
       window.location = "index.php"
    }
 }

问题是:如何根据 if 语句调用此函数?我在互联网上看到了一些示例,人们将函数(而不仅仅是调用它)直接放在 if 语句中,但这不会混合不同类型的脚本吗?那么..你如何从这个 if 语句中调用函数?我试过了,但没有用:

$flat=$_POST['flat'];
$check= mysql_query("SELECT * FROM assignment WHERE flat = '$flat'");
$num= mysql_num_rows($check);
if ($num!=0) {   show_confirm();
 } else { //irrellivant code
4

2 回答 2

1

由于这是一个 JavaScript 函数,您只需将函数本身放在标头中,然后在 PHP 中,您在 if 中输出对函数的调用,如下所示:

if ($num!=0) {
   echo '<script type="text/javascript">show_confirm();</script>';
} else { 
   //irrelevant code
}

PHP 是一种服务器端脚本语言,而 JavaScript 是客户端。您不能像您尝试做的那样直接从服务器端调用 JavaScript 函数。但是,您可以通过 PHP 将 javascript 输出到页面,就像我在示例中所做的那样。

于 2013-04-27T21:23:30.400 回答
0

是的,您正在尝试将 php(服务器端)和 javascript(客户端)混合在一个无法正常工作的进程中。

当您提交表单以检查它们是否已被分配时,您需要将它们重定向到确认页面,从那里您将有链接到重新分配和返回页面的是/否按钮。

最好的解决方案实际上是使用 AJAX 来处理这个问题,但考虑到自然问题,我认为最好坚持使用非 ajax 工作流程。

让我知道这是否有意义,如果没有,我将添加更多细节

于 2013-04-27T21:24:01.953 回答