Форум программистов, компьютерный форум, киберфорум
HTML, CSS
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/65: Рейтинг темы: голосов - 65, средняя оценка - 4.98
15 / 15 / 4
Регистрация: 21.04.2014
Сообщений: 179
1

Отправка данных по нажатию Enter

07.09.2014, 19:21. Показов 13135. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
То есть есть у меня следующий код:
HTML5
1
2
3
4
5
<form action="redirect_page.php" method="post">
<textarea name="text" autofocus required>
</textarea>
<input type="submit">
</form>
Нужно сделать так, чтобы при нажатии на кнопку Enter (на клавиатуре) данные отправлялись на страницу redirect_page.php?

Добавлено через 13 секунд
Ах, да и при этом фокус находиться на textarea. То есть обычно при нажатии на Enter — переход на следующую строку, а надо отправку данных.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.09.2014, 19:21
Ответы с готовыми решениями:

Отправка данных по нажатию Enter
Всем привет, помогите разобраться..Пишу редирект по нажатию Enter в текстовом поле: function...

Отправка формы по нажатию Enter
Всем привет,как сделать,что бы форма отправлялась по нажатию Enter,но в тоже время её можно было...

Отправка формы по нажатию Enter
Доброго времени суток!!! Как реализовать отправку формы, а точнее вызов функции JavaScipt, по...

Отправка текста инпута по нажатию Enter
Здравствуйте. у меня есть форма вот &lt;form action=&quot;&quot; id=&quot;myform&quot;&gt; &lt;input type=&quot;text&quot;...

6
511 / 485 / 161
Регистрация: 08.07.2013
Сообщений: 1,714
Записей в блоге: 1
07.09.2014, 19:57 2
тут поднималась такая тема
0
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
08.09.2014, 07:35 3
Лучший ответ Сообщение было отмечено KVESTOR как решение

Решение

Надо добавить к форме id.
HTML5
1
2
3
4
5
<form action="redirect_page.php" method="post" id='form_redirect'>
<textarea id='text_redirect'  name="text" autofocus required>
</textarea>
<input type="submit">
</form>
И прикрутить к старинце снизу javascript c кодом:

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
document.body.onkeydown = function(event) {
    var e = event || window.event;
    var code = e.keyCode || e.which;
    var activeEl = document.activeElement.id;
    if(code == 13 && activeEl == "text_redirect") {
        var text_redirect = document.getElementById('text_redirect').value;
        text_redirect = text_redirect.replace(/^\s+/, "");
        if(text_redirect != "") {
            document.getElementById('form_redirect').submit();
        } else {
            alert("ЗАПОЛНИТЕ ФОРМУ!");
        }
   }
}
Добавлено через 26 минут
Также можно добавить перевод строки с помощью сочетания клавиш CTRL + ENTER

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
document.body.onkeydown = function(event) {
    var e = event || window.event;
    var code = e.keyCode || e.which;
    var activeEl = document.activeElement.id;
    if(code == 13 && e.ctrlKey) {
        if(activeEl == "text_redirect") {
            document.getElementById('text_redirect').value += "\n";
        } else {
            return false;
        }
    } else if(code == 13 && activeEl == "text_redirect") {
        var text_redirect = document.getElementById('text_redirect').value;
        text_redirect = text_redirect.replace(/^\s+/, "");
        if(text_redirect != "") {
            document.getElementById('form_redirect').submit();
        } else {
            return false;
        }
   }
}
3
15 / 15 / 4
Регистрация: 21.04.2014
Сообщений: 179
08.09.2014, 15:32  [ТС] 4
А вот что нужно сделать, чтобы Enter не делал перенос строки, конкретно у меня при нажатии на Enter происходит перевод строки, а затем отправка данных. Как-то это не очень.
0
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
08.09.2014, 15:56 5
Лучший ответ Сообщение было отмечено KVESTOR как решение

Решение

Сразу после этой строчки:
Javascript
1
document.getElementById('form_redirect').submit();
Вставьте это:
Javascript
1
return false;
1
15 / 15 / 4
Регистрация: 21.04.2014
Сообщений: 179
08.09.2014, 18:31  [ТС] 6
Правильнее будет после — text_redirect еще. То есть после этого:
Javascript
1
document.getElementById('form_redirect').submit();
И этого:
Javascript
1
document.getElementById('text_redirect').value += "\n";
0
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
08.09.2014, 19:29 7
Нет. Надо вставить только после этого:
Javascript
1
document.getElementById('form_redirect').submit();
А в случае с этим:
Javascript
1
document.getElementById('text_redirect').value += "\n";
Здесь происходит перевод на новую строку, при нажатии на сочетание клавиш CTRL + ENTER. Но форма при это не отправляется. Так что здесь добавлять не обязательно.

Добавлено через 4 минуты
Но можете и добавить если хотите. Хоть с ним, хоть без него, в любом случае результат одинаковый.

Добавлено через 10 минут
Конечный вариант(откорректированный):
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
document.body.onkeydown = function(event) {
    var e = event || window.event;
    var code = e.keyCode || e.which;
    var activeEl = document.activeElement.id;
    if(code == 13 && e.ctrlKey && activeEl == "text_redirect") {
        document.getElementById('text_redirect').value += "\n";
    } else if(code == 13 && activeEl == "text_redirect") {
        var text_redirect = document.getElementById('text_redirect').value;
        text_redirect = text_redirect.replace(/^\s+/, "");
        if(text_redirect != "") {
            document.getElementById('form_redirect').submit();
            return false;
        } else {
            return false;
        }
   }
}
0
08.09.2014, 19:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.09.2014, 19:29
Помогаю со студенческими работами здесь

Отправка формы только по нажатию клавиши Enter на определенное поле
Каким образом можно осуществить отправку формы на url, только по нажатию клавиши Enter - на...

Отправление данных формы по нажатию ENTER
Как седлать так, чтобы данные введенные в форму можно было отправить нажатием кнопки ENTER, а не...

Обработка данных из TextBox по нажатию Enter
Здравствуйте, начал работать с winform в C# и появился такой вопрос: у меня в форме есть textbox, в...

Отправка данных на контроллер PIC по нажатию на ActiveX компонент
Здравствуйте форумчани. У меня в процессе работы возник вопрос возможно ли отправлять данные с ПК...

Отправка данных по нажатию на ссылку без выполнения действия по умолчанию
Есть ссылка, которая отвечает только за передачу данных на другой сайт Как сделать с помощь js что...

Запуск по нажатию на ENTER
Доброго дня...всё никак не пойму, что не так...вообщем, суть проста, при запуске бытника...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru