所以我有一個文本框(的onsubmit沒有形式
<input type="text"/>
),我想運行一個功能,當用戶按下輸入/提交它。
現在,onSubmit看起來是最好的解決方案。遺憾的是,這需要一個表單(據我所知),並且該表單在我提交時重新加載頁面。它增加了一些我不喜歡的額外代碼。 我也嘗試過onKeyPress,但是這對每次用戶鍵入內容都有反應(請參閱我的上一個問題)。我嘗試過在函數本身中尋找'enter'-key,但那並沒有奏效。每當有人在現場輸入某些東西時,我都不想運行該功能。
所以,總結一下:我想在用戶提交一個文本框時運行一個函數。我該怎麼做呢?有沒有一種方法可以在不使用表單的情況下使用'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.您不需要提交,你可以我們一個 3.如果你想在不使用表單的情況下使用表單元素,我會建議使用document.getElementById(」NAME「)來確定你的不同輸入。 – 2013-03-18 22:05:42
1.好的,我首先嚐試使用表單。發生了什麼事是該功能甚至沒有時間運行。當我按下Enter鍵並添加'?'時,頁面剛剛重新加載之後的網址。 2.我不想要一個按鈕,我只想讓用戶按下回車鍵。 3.我使用document.getElementById('id')來獲取文本字段的內容。但問題是當用戶按下'enter'時運行該功能。 – Aleksander 2013-03-19 16:38:56
回車鍵是ASCII 13,所以這樣的事情應該工作:onkeypress =「return myFuntion(event)」funtion myFunction(e){if(e.keyCode == 13){return true;} else {return false;}} – 2013-03-19 16:46:21