У меня в основном есть страница проверки (index.php), в которой я загружаю еще 4 страницы в "контентный div" (при нажатии ссылки)
<div id="content"></div>
с помощью..
$("#content").load(link + '.php');
Проблема заключается в том, что я использую две разные формы оплаты paypal (стандартные и повторяющиеся) на той же странице (index.php), у которых есть конфликтующий идентификатор, который я не могу изменить.
Так выглядит.
<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>
Я хотел бы в основном написать функцию, которая говорит.. Идентификатор страницы внутри контента div = xyz, затем используйте /show form1 else, если страница = zzz use/show form2
.. проблема в основном вызывает пустые поля, которые иногда отправляются в PayPal IPN
Ваша проверка должна быть выполнена после завершения load()
$("#content").load(link + '.php', function() {
// Do your id check here
if($("#xyz").length) {
$("#form1").show();
$("#form2").hide();
}
else {
$("#form1").hide();
$("#form2").show();
}
});
Реализация 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();
}
или родной JS show()/hide() is form.style.display == 'none'//'block'
if ($("#content").children("#xyz")) { //if #xyz exists in #content
$("#form1").show(); //show form 1
}
else { //otherwise
$("#form2").show(); //show form 2
}