Я пытаюсь сделать все это нажатием кнопки, поэтому решил использовать jquery. Сценарий такой: если FORM1 виден, скрыть FORM2 наоборот. Это означает, что эти две формы никогда не следует рассматривать вместе. Кстати, я использую cakephp.

Код формы 1 (видимый):

Cakephp

echo $this->Form->create('Form1');
....content etc....
echo $this->Form->end();

Эквивалент HTML

<form id="Form1">
....content etc....
</form>

Код формы 2 (скрытый):

Cakephp

echo $this->Form->create('Form2',array('style'=>'display:none;'));
....content etc....
echo $this->Form->end();

Эквивалент HTML

<form id="Form2" style="display:none;>
....content etc....
</form>

Теперь это мой jquery

$('#Btn').click(function(){
    console.log("functions working");
    $('#Form1').hide();
    if ($('#Form2').is(':hidden')) {
    console.log("I entered if");
      $('#Form2').show();
    }
});

Я просто не понимаю, почему это не отображается, я попытался добавить журналы консоли, и они работают нормально. Что происходит в настоящее время, так это то, что он просто скрывает форму Form1 и не отображает форму Form2. ценю всю помощь tnx

1
Mr. Fox 21 Авг 2014 в 06:41

1 ответ

Лучший ответ

Ваш код успешно скрывает форму Form1 и отображает форму Form2 (см. Скрипт). Единственное изменение, которое я сделал, - это добавление отсутствующих кавычек после стиля в вашем div Form2, но это может быть просто опечаткой с вашей стороны.

Вы также можете использовать функцию .toggle для более краткого кода:

$('#Btn').click(function(){
    $("#Form1, #Form2").toggle();
}
1
Stryner 21 Авг 2014 в 06:55