<submit>

<submit>

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.

Attributes

Notes

Exactly one of “next” and “expr” must be specified.

When setting the “method” attribute to “post”, the platform does a normal POST with the variables passed in the namelist encoded as “application/x-www-form-urlencoded” or “multipart/form-data”. After encoding the namelist, the platform passes the data and tells the server that the data is encoded with whatever format it used to encode.

However, when setting the “method” attribute to “raw”, the “raw” type is still a POST request, but does two things to change the default behavior, allowing control over both the data and the encoding type reported to the server:

  1. Rather than encoding the namelist to create the “data”, the platform instead executes the rawexpr javascript expression and uses the result for the data.

  2. It passes the encoding that was provided in the “enctype” attribute as the encoding to the web server.

Example

<?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>

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.

Child Tags

None

Parent Tags

<block>, <catch>, <error>, <filled>, <foreach>, <help>, <if>, <noinput>, <nomatch>

Last updated