Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Отправка данных по нажатию Enter (https://javascript.ru/forum/misc/52272-otpravka-dannykh-po-nazhatiyu-enter.html)

ivanpotapov2 11.12.2014 07:13

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

function keyp(event)
{
var key = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
if(key==13)
{
window.location.href='http://ya.ru';
}
}


Само поле:

<input type='text' onkeydown='keyp(event)'/>

Проблема в том, что при данном написании не редиректит, а если написать так:

function keyp(event)
{
var key = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
if(key==13)
{
alert('text');
window.location.href='http://ya.ru';
}
}


выходит сообщение 'text', нажимаешь Ок и происходит переход на яндекс. Что за ?????

Woogy 11.12.2014 07:32

// установим обработчик события keydown, элементу с идентификатором foo
// и проверим, какая именно клавиша была нажата
$('#foo').keydown(function(eventObject){
  alert('Клавиша клавиатуры приведена в нажатое состояние. Код вводимого символа - ' + eventObject.which);
});
 
// вызовем событие keydown на элементе foo
$('#foo').keydown();
 
// установим еще один обработчик события keydown, на этот раз элементам 
// с классом block. В обработчик передадим дополнительные данные
$('.block').keydown({a:12, b:"abc"}, function(eventObject){
  var externalData = "a=" + eventObject.data.a + ", b=" + eventObject.data.b;
  alert('Нажата кнопка клавиатуры. '+
        'В обработчик этого события переданы данные: ' + externalData );
});


Дую от этого сможете танцевать?

Цитата:

Проблема в том, что при данном написании не редиректит, а если написать так:function keyp(event)
{
var key = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
if(key==13)
{
alert('text');
window.location.href='http://ya.ru';
}
}
Суть в том что вы используете редикт
window.location.href='http://ya.ru';
который срабатывает после ALERT.
Если вы хотите вывести содержание поля то следует указать так
<input id='test' type='text' onkeydown='keyp(event)'/>
function keyp(event)
{
var key = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
if(key==13)
{
var s = $('#test').val();
alert('Содержание поля: '+s);
}
}

ivanpotapov2 11.12.2014 07:38

мне нужен просто редирект по нажатию Enter, выводить ничего не нужно

ivanpotapov2 11.12.2014 07:43

фишка в том, что с alert`ом работает, а без него не хочет(

jsnb 11.12.2014 08:09

Цитата:

Сообщение от ivanpotapov2
фишка в том, что с alert`ом работает, а без него не хочет(

Браузер какой?

danik.js 11.12.2014 12:50

<form action="http://javascript.ru">
    <input type="text" />
</form>


Часовой пояс GMT +3, время: 20:34.