1

我的页面中有一个活动会话,使用:$_session_start();我想隐藏我的表单的一部分并根据用户以前的条目显示另一个。

基本上我提供直接存款纸质支票我希望能够让用户只看到他们之前完成所需的字段(在注册时,这些值已经在数据库中)

现在数据库表是这样设置的:

paper_check 值为 1(是,以这种方式付款)或 0(以这种方式付款)

和直接存款一样。我需要一种方法来根据用户之前的选择显示/隐藏与每个相关的字段。

我输入了这个,但它似乎没有做任何事情。请帮我!!!!!(类名隐藏和显示在我的css中并且工作正常!)

<?php 
    if ($_SESSION['direct_deposit'] == 1)
    {
      $doc->getElementById('check_payable_to')->className+" hide";
    }
    else
    {
      $doc->getElementById('name_on_account')->className+" hide";
      $doc->getElementById('check_payable_to')->className+" show";
    } 
?>
4

4 回答 4

1

className我在 PHP DOM 库中没有看到属性。看起来这是向元素添加类的方法:

$doc->getElementById('check_payable_to')->setAttribute('class',
   $doc->getElementById('check_payable_to')->getAttribute('class') . " hide");

您是否启用了错误报告?它应该警告未知属性。

如果您想在 Javascript 而不是 PHP 中执行此操作,请让您的 PHP 执行以下操作:

<script>
var direct_deposit = <?php echo $_SESSION['direct_deposit']; ?>;
if (direct_deposit == 1) {
   /* Do what you want */
} else {
   /* Do what else you want */
}
</script>
于 2013-06-04T08:15:27.517 回答
0

在您的问题中,您说“我的页面中有一个活动会话,使用:$_session_start();” 你不应该使用 $_session_start()。它应该是 session_start() 。

于 2013-06-04T08:03:14.120 回答
0

className+" hide" 应该是 className .= " hide"

于 2013-06-04T08:07:39.320 回答
0

通过将每个部分包装在它自己的 div 中,如下所示:

<div id="paperCheck class="show"> 
   <!--Your Paper Check Information here-->
</div> 

<div id="directDeposit" class="show"> 
   <!--Your Direct Deposit Information here--> 
</div> 

然后通过使用 javascript,您可以执行以下操作:

var direct_deposit = <?php echo $_SESSION['direct_deposit']; ?>;

if (direct_deposit == 1) 
{
   document.getElementById('paperCheck').className ="hide";
} 
else 
{
   document.getElementById('directDeposit').className ="hide";
}
于 2013-06-04T08:47:46.493 回答