如果 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的主要内容,如果未能解决你的问题,请参考以下文章
如果删除了父元素,则隐藏 Bootstrap Popover