0

我已经没有关于这个班级作业的想法了。我必须使用 PHP_SELF 创建两个 PHP 表单,我想使用 javascript 或 jquery 在表单之间切换。我尝试使用

<a href="#" onclick="document.getElementById('form1').style.display = 'block'; document.getElementById('form2').style.display = 'hidden';">Form 1</a>
<a href="#" onclick="document.getElementById('form1').style.display = 'hidden'; document.getElementById('form2').style.display = 'block';">Form 2</a>

这确实适用于更改表单,但是当我点击提交按钮时,它会返回到表单 1 并且不显示结果。我必须弄清楚的是,在使用 PHP_SELF 提交表单后,如何让它留在该表单上以显示服务器生成的结果。

4

2 回答 2

1

你需要使用这样的东西

if($_POST){
//display success message here
}else{
//display form here
}
于 2012-09-12T21:16:06.497 回答
0

您可以在调用的表单中添加一个隐藏字段formId并让 PHP 回显它,这样您就可以从 Javascript 中知道您正在阅读哪个表单的结果:

<?php
    ...
    if (isset($_POST['formId']))
    {
        $show = 'form1' == $_POST['formId'] ? 'form1' : 'form2';
        $hide = 'form1' == $_POST['formId'] ? 'form2' : 'form1';
        // This PHP must be inside the Javascript section of the page, at end.
        print <<<SETVISIBILITY

\$('#$show').style.display = 'block'; // Should be unnecessary (?)
\$('#$hide').style.display = 'hidden';

SETVISIBILITY;
    }
?>

或者您可以在 jQuery 中进行提交和结果显示,这样您就无需重新加载页面,从而丢失您的表单可见性。

于 2012-09-12T21:15:19.010 回答