[英]Calling JavaScript function on hitting enter key in input box
雖然我可以按Enter鍵來調用Javascript函數。 我在用戶按下Enter鍵時調用了shortIt()
函數, shortIt()
從輸入框中獲取了文本,並向Google URL Shortener API發出了返回短URL的請求,但生成的響應僅持續了幾秒鍾。 我在div中顯示響應。
似乎是一個很奇怪的問題,代碼在這里https://s3-ap-southeast-1.amazonaws.com/s3freebucket/URLShortner/url-shortner.html
但是,當我單擊shortIt
按鈕以縮短網址時。 它工作正常並且響應文本保留在div中。
這是因為在按Enter鍵時, form
提交。 發生這種情況時,您會注意到頁面正在重新加載。 這是默認行為,是使用<form>
。 在提交表單時,將加載表單action
屬性中的頁面。 在這種情況下,未設置<form>
的action
屬性,因此只重載了您所在的頁面,因此腳本停止運行並重新加載了頁面。
解決此問題的兩個簡單方法:
(最簡單的方法)刪除表單標簽-它不用於提交任何內容,因此刪除它應該會使一切仍然有效
觸發表單submit
事件時,請阻止默認操作。
使用JQuery:
$('#myForm').on('submit', function (evt) { evt.preventDefault(); // prevents form submission });
其中myForm
是您的表單標簽的ID。 您將需要在現有的html表單標簽中添加一個id屬性: <form id="myForm" class="form-horizontal">
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.