files/en-us/web/api/htmlgeolocationelement/promptaction_event/index.md
{{APIRef("HTML DOM")}}{{SeeCompatTable}}
The promptaction event of the {{domxref("HTMLGeolocationElement")}} interface is fired whenever the user activates the <geolocation> element and selects an option from the resulting dialog, either to grant or deny geolocation permission.
Use the event name in methods like {{domxref("EventTarget.addEventListener", "addEventListener()")}}, or set an event handler property.
addEventListener("promptaction", (event) => { })
onpromptaction = (event) => { }
An {{domxref("Event")}}.
promptaction to respond to user permission choicesIn our Embedded map demo (source code), we use a promptaction event handler to respond to the user making a choice in the <geolocation> permission prompt:
geo.addEventListener("promptaction", notifyUserGrantPermission);
In the notifyUserGrantPermission() function, we use the {{domxref("HTMLGeolocationElement.permissionStatus")}} property to check whether the permission status is denied or prompt and if so, we ask the user to press the button again and allow location. We don't need to ask this if they already granted permission.
function notifyUserGrantPermission() {
if (geo.permissionStatus === "denied" || geo.permissionStatus === "prompt") {
statusElem.textContent =
'Please press the "Use location" button again and allow location for this site.';
}
}
See the main {{domxref("HTMLGeolocationElement")}} page for a full walkthrough of this example.
{{Specifications}}
{{Compat}}