Представление данных из текстовой области ударом “Входит”

У вас есть свойство «disabled» в <td><input name="dept_id[]" type="text" value="<?php echo $dep['dept_id'] ?>" class="form-control" disabled></td> отключенных входах, которые не учитываются при отправке формы. измените его на только для чтения

17
задан Ankur Soni 8 May 2018 в 14:42
поделиться

5 ответов

Вы можете использовать обработчик keyup для текстовой области (хотя я бы посоветовал против него *).

[SomeTextarea].onkeyup = function(e){
  e = e || event;
  if (e.keyCode === 13) {
    // start your submit function
  }
  return true;
 }

* Почему бы не использовать поле ввода текста для этого? Textarea особенно подходит для многострочного ввода, поле ввода текста для однострочного ввода. С помощью обработчика ввода вы искажаете многострочный ввод. Я помню, как однажды использовал его для приложения чата XHR (он же AJAX) (поэтому текстовая область работала как область ввода MSN), но снова включил многострочный ввод, используя клавишу CTRL-ввод для новых строк. Может быть, это идея для вас? Слушатель будет расширен следующим образом:

[SomeTextarea].onkeyup = function(e){
  e = e || event;
  if (e.keyCode === 13 && !e.ctrlKey) {
    // start your submit function
  }
  return true;
 }
26
ответ дан 30 November 2019 в 10:27
поделиться

При нажатии Enter в текстовой области вставляется разрыв строки вместо отправки родительской формы; это не будет работать таким образом даже с обычными тегами формы.

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

15
ответ дан 30 November 2019 в 10:27
поделиться

Текстовая область позволяет пользователям вводить несколько строк текста, поэтому при нажатии клавиши ввода будет вставлена ​​только новая строка в тексте. Вместо этого используйте обычное текстовое поле, если хотите такое поведение

-1
ответ дан 30 November 2019 в 10:27
поделиться

Вот мое решение:

В Javascript:

function isEnterPressed(e){
var keycode=null;
if (e!=null){
    if (window.event!=undefined){
        if (window.event.keyCode) keycode = window.event.keyCode;
        else if (window.event.charCode) keycode = window.event.charCode;
    }else{
        keycode = e.keyCode;
    }
}
return (keycode == 13);}

В html:

<input type="text" onkeyup="if(isEnterPressed(event)){/*do something*/}" />
1
ответ дан 30 November 2019 в 10:27
поделиться

@ Shog9 предложил мне скопировать мой ответ в дублированную версию этого вопроса: Одна проблема, которая игнорируется, это пользователи, использующие метод ввода (редакторы), например. нелатинский ввод текста. IME, с которым я знаком, это IM Kotoeri Hiragana на OSX, но существует множество других для японского языка (один только Kotoeri имеет несколько различных режимов ввода, и есть по крайней мере еще один основной режим, называемый ATOK), в дополнение к режимам для hangul, традиционный и упрощенный китайский, а также множество других менее известных языков. И эти методы ввода существуют на всех основных платформах (особенно Win, Mac и Linux).

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

Например, ввод последовательности символов toukyou по умолчанию в хирагане будет генерировать строку と う き ょ う , обратите внимание, что в результирующем тексте нет , потому что enter подтверждает составленный текст. Но в дополнение к этому фактическая последовательность символов, которая появляется, изменяется по мере ввода:

t // t
と // to
とう // tou
とうk // touk
とうky // touky
とうきょ // toukyo
とうきょう // toukyou

Если память использовалась, когда я реализовал это в webkit, необходимо было сделать keyCode равным 229 для keyDown для всех клавиш, введенных в IME ( для сравнения с IE) - но я не могу вспомнить, как работает keyUp.

Стоит также отметить, что в некоторых IME вы не обязательно будете получать нажатия клавиш, нажатия клавиш или нажатия клавиш. Или вы получите несколько. Или все они отправляются вместе в конце ввода.

В общем, это очень ... нечистая ... часть реализаций событий DOM в настоящее время.

в результирующем тексте, потому что ввод подтверждает составленный текст. Но в дополнение к этому фактическая последовательность символов, которая появляется, изменяется по мере ввода:

t // t
と // to
とう // tou
とうk // touk
とうky // touky
とうきょ // toukyo
とうきょう // toukyou

Если память использовалась, когда я реализовал это в webkit, необходимо было сделать keyCode равным 229 для keyDown для всех клавиш, введенных в IME ( для сравнения с IE) - но я не могу вспомнить, как работает keyUp.

Стоит также отметить, что в некоторых IME вы не обязательно будете получать нажатия клавиш, нажатия клавиш или нажатия клавиш. Или вы получите несколько. Или все они отправляются вместе в конце ввода.

В общем, это очень ... нечистая ... часть реализаций событий DOM в настоящее время.

в результирующем тексте, потому что ввод подтверждает составленный текст. Но в дополнение к этому фактическая последовательность символов, которая появляется, изменяется по мере ввода:

t // t
と // to
とう // tou
とうk // touk
とうky // touky
とうきょ // toukyo
とうきょう // toukyou

Если память использовалась, когда я реализовал это в webkit, необходимо было сделать keyCode равным 229 для keyDown для всех клавиш, введенных в IME ( для сравнения с IE) - но я не могу вспомнить, как работает keyUp.

Стоит также отметить, что в некоторых IME вы не обязательно будете получать нажатия клавиш, нажатия клавиш или нажатия клавиш. Или вы получите несколько. Или все они отправляются вместе в конце ввода.

В общем, это очень ... нечистая ... часть реализаций событий DOM в настоящее время.

t // t
と // to
とう // tou
とうk // touk
とうky // touky
とうきょ // toukyo
とうきょう // toukyou

Если память использовалась, когда я реализовал это в webkit, необходимо было сделать keyCode равным 229 для keyDown для всех ключей, набранных в IME (для сравнения с IE) - но я не могу вспомнить, каково поведение keyUp.

Также стоит отметить, что в некоторых IME вы не обязательно будете получать нажатия клавиш, нажатия клавиш или нажатия клавиш. Или вы получите несколько. Или все они отправляются вместе в конце ввода.

В общем, это очень ... нечистая ... часть реализаций событий DOM в настоящее время.

t // t
と // to
とう // tou
とうk // touk
とうky // touky
とうきょ // toukyo
とうきょう // toukyou

Если память использовалась, когда я реализовал это в webkit, необходимо было сделать keyCode равным 229 для keyDown для всех ключей, набранных в IME (для сравнения с IE) - но я не могу вспомнить, каково поведение keyUp.

Также стоит отметить, что в некоторых IME вы не обязательно будете получать нажатия клавиш, нажатия клавиш или нажатия клавиш. Или вы получите несколько. Или все они отправляются вместе в конце ввода.

В общем, это очень ... нечистая ... часть реализаций событий DOM в настоящее время.

Или вы получите несколько. Или все они отправляются вместе в конце ввода.

В общем, это очень ... нечистая ... часть реализаций событий DOM в настоящее время.

Или вы получите несколько. Или все они отправляются вместе в конце ввода.

В общем, это очень ... нечистая ... часть реализаций событий DOM в настоящее время.

13
ответ дан 30 November 2019 в 10:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: