This is an old revision of the document!
The <submit> element is used to submit information to the origin web server and then transition to the document sent back in the response. Unlike <goto>, it lets you submit a list of variables to the document server via an HTTP GET or POST request.
|fetchhint||This attribute is not supported.|
|fetchtimeout||(defaults to “fetchtimeout” global property value) The timeout for fetches. Must be specified with the appropriate time units (e.g., “120s” for 120 seconds).|
|maxage||(defaults to “documentmaxage” global property value) Tells the platform the maximum acceptable age, in seconds, of cached documents.|
|maxstale||(defaults to “documentmaxstale” global property value) Tells the platform the maximum acceptable staleness, in seconds, of expired cached documents.|
|next||The URI reference.|
|expr||Like next, except that the URI reference is dynamically determined by evaluating the given ECMAScript expression.|
|fetchaudio||(defaults to “fetchaudio” global property value) The URI of the audio clip to play while the fetch is being done.|
|method||(defaults to “get”) The request method: get, post, or raw.|
|enctype||(defaults to “application/x-www-form-urlencoded”) This attribute specifies the HTTP POST encoding format. The other permissible choices are “multipart/form-data”, which is the encoding method used by the platform when binary data is being submitted, “application/xml”, when fetching raw XML, and “application/json”, when fetching raw JSON.|
|namelist||The list of variables to submit. The default is to submit no variables. If a namelist is supplied, it may contain individual variable references that are submitted with the same qualification used in the namelist. Declared VoiceXML and ECMAScript variables can be referenced.|
<?php header("Content-type: text/xml"); echo "<?xml version=\"1.0\"?>\n"; ?> <vxml version="2.0"> <var name="license_number"/> <var name="request_type"/> <form> <field name="license" type="digits"> <prompt> Please enter your driver's license number. </prompt> <filled> <assign name="license_number" expr="license"/> </filled> </field> <field name="request"> <grammar type="application/srgs+xml" mode="dtmf" root="choice" maxdigits="1"> <rule id="choice"> <one-of> <item>1</item> <item>2</item> </one-of> </rule> </grammar> <prompt> To renew your license, press 1. To request a new license plate, press 2. </prompt> <filled> <assign name="request_type" expr="request"/> <submit next="process_request.php" method="post" namelist=" license_number request_type" fetchtimeout="60s"/> </filled> </field> </form> </vxml>
<?php header("Content-type: text/xml"); echo("<?xml version=\"1.0\"?>\n"); // get the variables posted to this script $name = $_POST['license_number']; $license = $_POST['request_type']; // here we could process the data by entering the information into a database or calling a webservice ?> <vxml version="2.0"> <form> <block> <prompt> Thank you. We will process your request and get back to you shortly. Goodbye. </prompt> <exit/> </block> </form> </vxml>
The output of the above script would be:
Computer: Please enter your driver's license number.
Human: <user enters: 1 2 3 4 5>
Computer: To renew your license, press 1. To request a new license plate, press 2.
Human: <user enters: 2>
Computer: Thank you. We will process your request and get back to you shortly. Goodbye.