如果 php 页面加载到 div 中,则显示或隐藏 HTML

Posted

技术标签:

【中文标题】如果 php 页面加载到 div 中,则显示或隐藏 HTML【英文标题】:if php page loaded into div, show or hide HTML 【发布时间】:2015-11-20 19:47:42 【问题描述】:

我基本上有一个结帐页面 (index.php) 在其中我将 4 个其他页面 加载到 "content div" (当链接被按下时)

<div id="content"></div>

使用..

 $("#content").load(link + '.php');

问题是我在同一页面 (index.php) 上使用了两种不同的 paypal 结帐表格(标准和重复),它们都有冲突的 ID,我无法更改。

所以看起来像..

<form id="checkout_form" name="_xclick" action="https://www.paypal.com/us/cgi-bin/webscr" id="form" method="post" >
        <input type="hidden" id="unique" name="cmd" value="_xclick" />

</form>

还有第二个..

<form id="checkout_form2" name="_xclick" action="https://www.paypal.com/us/cgi-bin/webscr" id="form" method="post" >
            <input type="hidden" id="unique" name="cmd" value="_xclick" />

    </form>

我想基本上写一个函数说.. IF 页面 ID 在内容 div 中 =xyz 然后使用/显示 form1 else if page=zzz 使用/显示 form2

..问题基本上是导致空字段有时被发送到贝宝 IPN

【问题讨论】:

你不能改变它们是什么意思? ID 是唯一的;使用一个类。另外,你的两个表格都有 2x ID,为什么是“多重人格”? @Fred-ii- 我无法更改它们,因为它们是 paypal 定义的特定 ID 以传递数据...一种形式用于定期计费,另一种用于正常计费。我使用的是一页ajax解决方案。 您在下面得到了答案。老实说,我不明白你为什么要限制不更改 ID。这段代码到底是从哪里来的? @Fred-ii- - 看看直播链接derrick.dk/insta2 @Fred-ii- 我已经尝试了下面的 awnsers 但它们不起作用我认为它可能需要一个 php 解决方案 【参考方案1】:

您的检查必须在 load() 这样完成后完成

$("#content").load(link + '.php', function() 
   // Do your id check here
   if($("#xyz").length) 
      $("#form1").show();
      $("#form2").hide();
   
   else 
       $("#form1").hide();
       $("#form2").show();
   
);

【讨论】:

您好,感谢您的尝试,但不了解此处的 ID 检查? 您需要将xyz替换为您要检查的实际ID。 对不起,我的意思是我这样做了,但它只显示一个条件 @yella-dom 能否提供php发送的html内容【参考方案2】:

加载内容后的jQuery实现:

if($('#content').find('#xyz').length)

     $('#checkout_form').show(); // .hide();
else if($('#content').find('#zzz').length)

     $('#checkout_form2').show(); // .hide();
else

     $('#checkout_form3').show(); // .hide();

或原生JSshow()/hide() is form.style.display == 'none' // 'block'

【讨论】:

【参考方案3】:
if ($("#content").children("#xyz"))   //if #xyz exists in #content
    $("#form1").show();                //show form 1

else                                  //otherwise
    $("#form2").show();                //show form 2

【讨论】:

以上是关于如果 php 页面加载到 div 中,则显示或隐藏 HTML的主要内容,如果未能解决你的问题,请参考以下文章

怎么用js显示隐藏div

如果删除了父元素,则隐藏 Bootstrap Popover

前端页面权限精确到按钮,控制按钮的隐藏和显示

下拉列表框控制层的显示和隐藏

如果页面加载时间过长,则隐藏一个元素并显示另一个元素[关闭]

如果语句为真,则显示隐藏 div