Так у меня есть текстовое поле (onSubmit без формы
<input type="text"/>
), где я хочу, чтобы запустить функцию, когда пользователь нажимает ввод/подают его.
Теперь, onSubmit выглядит как лучшее решение. К сожалению, для этого требуется форма (насколько мне известно), и эта форма перезагружает страницу, когда я отправляю. И он добавляет дополнительный код, который мне не нравится. Я также пробовал onKeyPress, но это реагирует на каждый раз, когда пользователь вводит что-то (см. Мой предыдущий вопрос). Я попытался найти ключ «enter» в самой функции, но это не сработало. И я не хочу запускать функцию каждый раз, когда кто-то вводит что-то в поле.
Итак, чтобы подвести итог: я хочу запустить функцию, когда пользователь отправляет текстовое поле. Как мне это сделать? Есть ли способ, которым я могу использовать функцию onSubmit без использования формы? Что делают страницы, подобные Facebook, когда я что-то комментирую?
Я на самом деле пытаюсь сделать функцию комментариев в Facebook. Это код, который я до сих пор:
var facebook_footer = '<button onClick="fbLike(\''+post_id+'\')"> Like </button> <form onSubmit="fbComment(\''+post_id+'\')"><input type="text" id="' + post_id + '" /></form>';
function fbComment(post_id) {
var message = document.getElementById(post_id).value;
console.log('Trying to comment on: ' + post_id);
FB.api('/'+ post_id +'/comments?message=' + message, 'post', function(response) {
if (!response || response.error) {
alert('Error occured. ID: ' + post_id);
} else {
alert('Great! It worked. ID: ' + post_id);
}
});
}
Может быть, у вас есть некоторые знания о FBapi, и знаю, что здесь стандартная процедура?
В любом случае, заблаговременно за ответы.
1. Форма не требует страниц перезагрузки (если OnSubmit возвращается FALSE) 2. Вам не нужно представить, вы могли бы нам тип = «кнопка» <входа OnClick = функция "(); "> 3. Если вы хотите использовать элементы формы без использования формы, я бы предложил document.getElementById (« NAME »), чтобы выяснить ваши разные входы. –
1. Хорошо, поэтому я сначала попробовал использовать форму. Случилось так, что у функции даже не было времени для запуска. Страница просто перезагрузилась, когда я нажал кнопку ввода и добавил '?' после URL. 2. Я не хочу кнопку, я просто хочу, чтобы пользователь нажал кнопку ввода. 3. Я использую document.getElementById ('id'), чтобы получить содержимое текстового поля. Но проблема заключается в выполнении функции, когда пользователь нажимает «вводить». – Aleksander
Ключ ввода - это ASCII 13, поэтому что-то подобное должно работать: onkeypress = "return myFuntion (event)" funtion myFunction (e) {if (e.keyCode == 13) {return true;} else {return false;}} –