Как решить эту неловкость?

http://jsfiddle.net/wmuYq/

Я хочу устранить неловкость: пользователь должен дважды нажать кнопку отправки, чтобы отправить текст.

Что я должен сделать, чтобы он работал одним щелчком мыши?

4 ответа

Решение

Вы могли бы использовать onmousedown Событие на кнопку отправки для отправки формы:

document.getElementById("submitButton").onmousedown = function() {
   this.form.submit();
}

Чтобы приведенный выше пример работал, вам нужно присвоить кнопке идентификатор. Кроме того, вам нужно изменить имя кнопки отправки с "отправить" на что-то другое, потому что в противном случае она перезаписывает submit собственность form элемент.

Это работает, потому что mousedown событие будет вызвано на кнопке до blur событие вызвано textarea,

Вот рабочий пример.

Вы можете установить время ожидания: http://jsfiddle.net/wmuYq/1/

document.getElementById("text1").onblur = function () {
   var target = this;
   setTimeout( function () {
        target.style.height='36px';
   }, 250);
}

Ну, с одной стороны, у вас нет формы, поэтому я не уверен, как она подчиняется вообще.

Оберните ваш код в форму и добавьте действие, и оно должно работать нормально:-)

Это может сработать. Непроверенные

Удалить onblur событие из textarea и поместите его как на onclick на input

onclick="document.getElementById('text1').style.height='36px'"

Пересмотренная скрипка: http://jsfiddle.net/jasongennaro/wmuYq/2/

Другие вопросы по тегам