notification.prompt

Shows a customizable prompt dialog box.

navigator.notification.prompt(message, promptCallback, [title], [buttonLabels], [defaultText])
  • message: Dialog message. (String)

  • promptCallback: Callback to invoke when a button is pressed. (Function)

  • title: Dialog title (String) (Optional, defaults to Prompt)

  • buttonLabels: Array of strings specifying button labels (Array) (Optional, defaults to ["OK","Cancel"])

  • defaultText: Default textbox input value (String) (Optional, Default: empty string)

Description

The notification.prompt method displays a native dialog box that is more customizable than the browser's prompt function.

promptCallback

The promptCallback executes when the user presses one of the buttons in the prompt dialog box. The results object passed to the callback contains the following properties:

  • buttonIndex: The index of the pressed button. (Number) Note that the index uses one-based indexing, so the value is 1, 2, 3, etc.

  • input1: The text entered in the prompt dialog box. (String)

Supported Platforms

  • Android
  • iOS

Quick Example

// process the promp dialog results
function onPrompt(results) {
    alert("You selected button number " + results.buttonIndex + " and entered " + results.input1);
}

// Show a custom prompt dialog
//
function showPrompt() {
    navigator.notification.prompt(
        'Please enter your name',  // message
        onPrompt,                  // callback to invoke
        'Registration',            // title
        ['Ok','Exit'],             // buttonLabels
        'Jane Doe'                 // defaultText
    );
}

Full Example

<!DOCTYPE html>
<html>
  <head>
    <title>Notification Prompt Dialog Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        // Empty
    }

    // process the promptation dialog result
    function onPrompt(results) {
        alert("You selected button number " + results.buttonIndex + " and entered " + results.input1);
    }

    // Show a custom prompt dialog
    //
    function showPrompt() {
        navigator.notification.prompt(
            'Please enter your name',  // message
            onPrompt,                  // callback to invoke
            'Registration',            // title
            ['Ok','Exit'],             // buttonLabels
            'Jane Doe'                 // defaultText
        );
    }

    </script>
  </head>
  <body>
    <p><a href="#" onclick="showPrompt(); return false;">Show Prompt</a></p>
  </body>
</html>

Android Quirks

  • Android supports a maximum of three buttons, and ignores any more than that.

  • On Android 3.0 and later, buttons are displayed in reverse order for devices that use the Holo theme.