2011-01-23 59 views
0

我有一個html表單,其中包含一個textarea框和一個調用API的提交按鈕(比如Google Translate API或Twitter API)。使用HTML textarea數據的自動API調用

現在我希望擺脫提交按鈕並在用戶輸入輸入後自動調用API。 我也希望獲得有限數量的API調用:理想情況下,只要用戶在該textarea中輸入完成,就調用一次API調用。

什麼是您的建議:

  • 使用的語言(JavaScript的,PHP等)?
  • 過程:什麼觸發API調用?

任何指針,將不勝感激。


編輯 - >關於「完成打字」部分:我永遠不會知道用戶是否已完成打字。我可能知道的唯一情況是,自x秒以來沒有打字。如果我可以在1秒或2秒後檢測到非活動狀態並觸發API調用,那將會很棒。這是可能的和如何?

+1

請說明您希望如何檢測「已完成鍵入」。好問題包含80%的答案,你改變它後將包含99%。 –

+0

@Eugene Mayevski'EldoS Corp,感謝您的反饋。我編輯了我的問題。 – tucson

回答

1

PoltoS服務器已經給大家介紹使用keyUp和setTimeout的信息。你也可以處理onBlur()事件。表單使用表單的submit()方法提交。 See examples here。順便說一句,你可能會發現你的問題的所有部分的樣本。

1

您可以將字段的keydown/keyup事件綁定到某個函數,該函數在清除舊函數後運行setTimeout(延遲5秒)。一旦setTimeout中提到的函數被調用 - 用戶沒有輸入5秒鐘 - 執行你的API調用。

更好的方法是在右側顯示一個倒計時器,讓用戶明白在5秒或10秒內會發生什麼事情。

當然,應該使用JavaScript來完成,並且 - 沒有額外的要求,需要