моя скрипка jquery не работает - PullRequest
4 голосов
/ 02 июля 2011

Моя скрипка показывает только часть того, что я пытаюсь сделать, но, поскольку я не могу даже заставить работать первую часть, я не пытался добавить вторую часть.

Первая часть

Есть 2 формы. вторая форма невидима, потому что ее класс установлен на «display: none;»

Что я хочу сделать, так это то, что когда вы нажимаете кнопку «отправить» в первой форме, она исчезает, а затем класс изменяется в форме form2, так что она становится видимой.

Моя скрипка показывает мою слабую попытку этого http://jsfiddle.net/mjmitche/KvwGw/

Обратите внимание, я новичок, поэтому, пожалуйста, предоставьте как можно больше объяснений. (Обратите внимание, я не создавал правильные формы в скрипке, потому что не знал, где их публиковать и т. Д.)

Вторая (без попыток) деталь

После нажатия на кнопку отправки во второй форме я хочу функцию обратного вызова, которая также затухает во второй форме.

Пожалуйста, помогите, если можете.

Очень ценится!

Ответы [ 3 ]

3 голосов
/ 02 июля 2011

Вот, пожалуйста. Вот обновленный и рабочий. Надеюсь, вы сможете заметить разницу, дайте мне знать, если есть что-то, чего вы не понимаете

http://jsfiddle.net/KvwGw/2/

Вторая часть

$('#form2').submit(function() {
    // add form submit stuff in there

    $(this).fadeOut(); //fades out form
    return false; //prevents form from submitting to the form action

});
3 голосов
/ 02 июля 2011

Ваш синтаксис совсем немного, это:

.css(display:block);

Должно быть :

.css({display:"block"});

или

.css("display", "block");

или просто :

.show();

Вы можете проверить это здесь .

Кроме того, обратите внимание, что <blah> является недопустимым элементом, означает, что ваш .hide() не будет работать как есть, я сделал эти элементы действительными <div> s.


Редактировать: Для второй части вы можете либо прикрепить одноразовый аналогичный обработчик, либо сделать ваши формы общими для номера n с общим классом. Скажем, вместо этого у всех было class="form", тогда вы могли бы просто сделать:

$(".form").submit(function() {
    $(this).hide(1000,function() {
        $(this).next(".form").show();
    });
    return false; //prevent actually submitting for this demo
});

... настройка .next() на какого-то другого относительного находка , если это необходимо в вашей реальной структуре страницы. Этот подход очень прост для любого числа форм, вы можете проверить его здесь .

1 голос
/ 02 июля 2011

Попробуйте: ваша скрипка обновлена ​​

Вам необходимо заключить свойства css в скобки для обозначения объекта или в виде строк, разделенных запятыми, например: .css("display", "block")

...