Как позволить кнопке выполнять две разные функции при ее нажатии? - jQuery / CSS - PullRequest
0 голосов
/ 05 января 2011

Вы можете увидеть реализацию здесь: http://jsfiddle.net/Chandu/AdQfB/11/

Если вы нажмете «Зарегистрироваться» в первый раз, вы увидите больше полей.

Я хочу, чтобы после нажатия кнопки «Регистрация» они нажимали «Отправить» и отправляли информацию на сервер.

То же самое применимо, если они нажмут «Логин» и заполнят поля имени пользователя и пароля.

Как мне этого добиться?

Я использую Rails на сервере.

Спасибо.

Ответы [ 3 ]

2 голосов
/ 05 января 2011

Вы можете сделать это, просто проверив, какой текст содержит кнопка:

$("input#register").click(function(e) {
    if (this.value == 'Register')
        // do one thing
    else if (this.value == 'Submit')
        // do another thing
});
2 голосов
/ 05 января 2011

Так как это кнопка type="submit", вы можете использовать поведение по умолчанию и просто удалить обработчик click, например:

$("input#register").click(function(e) {
  $("input#f_name").slideDown().prepend("<br /><br />").css({"display": "block"});
  $("input#l_name").slideDown().css({"display": "block"});
  $("input#confirm_pw").slideDown().css({"display": "block"})
  $("input#register").val('Submit');
  $("input#login").css({ 'color' : '#567603' });
  e.preventDefault();
  $(this).unbind("click"); 
});    

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

0 голосов
/ 05 января 2011

добавить класс к кнопке регистрации в то же время, когда вы расширяете форму. привязать действие отправки к этому классу. удалите этот класс при удалении лишних элементов формы; для входа в систему расширьте ваше "if ($ (" # verify_pw "). is (": visible "))" с помощью else {и реализуйте ваше имя для входа в систему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...