ZVON > References > VoiceXML Reference |
Intro / Search / ZVON |
Element: | form |
Attributes: | | id | scope | |
Parents: | | vxml | |
Children: | | block | catch | dtmf | error | field | filled | grammar | help | initial | link | noinput | nomatch | object | property | record | subdialog | transfer | var | |
Description: | Go to Standard |
<vxml version="1.0"> <form> <block>Hello World!</block> </form> </vxml> |
<form scope="document"> <grammar> … </grammar> <grammar scope="dialog"> … </grammar> </form> |
<vxml version="1.0"> <property name="caching" value="fast"/> … <form id="test"> <block> <audio src="http://www.weather4U.example/vxml/welcome.wav"/> <audio caching="safe" src="http://www.onlineads.example/weather4U/ad17"/> </block> … </form> … </vxml> |
<vxml version="1.0"> <form> <field name="birthday" type="date"> What is your birthday? </field> <subdialog name="result" src="/cgi-bin/getlib#getdriverslicense" namelist="birthday"> <filled> <submit next="http://myservice.example/cgi-bin/process"/> </filled> </subdialog> </form> </vxml> |
<form id="gather_pager_message"> <object name="message" classid="builtin://keypad_text_input"> <prompt> Enter your message by pressing your keypad once per letter. For a space, enter star. To end the message, press the pound sign. </prompt> </object> <block> <assign name="document.pager_message" expr="message.text"/> <goto next="#confirm_pager_message"/> </block> </form> |
<form> <subdialog name="result" src="http://another.example/#getssn"> <param name="firstname" expr="document.first"/> <param name="lastname" expr="document.last"/> <filled> <submit namelist="result.ssn" next="http://myservice.example/cgi-bin/process"/> </filled> </subdialog> </form> |
<form> <subdialog name="result" src="#getssn"> <nomatch> <goto next="http://myservice.example/ssn-problems.vxml"/> </nomatch> <filled> <submit namelist="result.ssn" next="http://myservice.example/cgi-bin/process"/> </filled> </subdialog> </form> |
<vxml version="1.0"> <form> <field name="drink"> <prompt>Would you like coffee, tea, milk, or nothing?</prompt> <grammar src="drink.gram" type="application/x-jsgf"/> </field> <block> <submit next="http://www.drink.example/drink2.asp"/> </block> </form> </vxml> |
<vxml version="1.0"> <meta name="author" content="John Doe"/> <meta name="maintainer" content="hello-support@hi.example"/> <var name="hi" expr="'Hello World!'"/> <form> <block> <value expr="hi"/>Goodbye! </block> </form> </vxml> |
<form id="get_city"> <field name="city"> <grammar src="http://www.ship-it.example/grammars/served_cities.gram"/> <prompt>What is the city?</prompt> <filled> <if cond="city == 'Novosibirsk'"> <prompt> Note, Novosibirsk service ends next year. </prompt> </if> </filled> </field> </form> |
<form id="no_bargein_form"> <property name="bargein" value="false"/> <block> <prompt> This introductory prompt cannot be barged into. </prompt> <prompt> And neither can this prompt. </prompt> <prompt bargein="true"> But this one <emp>can</emp> be barged into. </prompt> </block> … </form> |
<vxml version="1.0"> <form id="basic"> <field name="acctnum" type="digits"> <prompt> What is your account number? </prompt> </field> <field name="acctphone" type="phone"> <prompt> What is your home telephone number? </prompt> <filled> <return namelist="acctnum acctphone"/> </filled> </field> </form> </vxml> |
<form id="test"> <var name="one" expr="1"/> <field name="two" expr="one+1" type="number"/> <var name="three" expr="two+1"/> <field name="go_on" type="boolean"> <prompt>Say yes or no to continue</prompt> </field> <filled> <goto next="#tally"/> </filled> </form> |
<form id="tapered"> <block> <prompt bargein="false"> Welcome to the ice cream survey. </prompt> </block> <field name="flavor"> <grammar>vanilla|chocolate|strawberry</grammar> <prompt count="1">What is your favorite flavor?</prompt> <prompt count="3">Say chocolate, vanilla, or strawberry.</prompt> <help>Sorry, no help is available.</help> </field> </form> |
<form id="another_joke"> <var name="r" expr="Math.random()"/> <field name="another" type="boolean"> <prompt cond="r < .50"> Would you like to hear another elephant joke? </prompt> <prompt cond="r >= .50"> For another joke say yes. To exit say no. </prompt> <filled> <if cond="another"> <goto next="#pick_joke"/> </if> </filled> </field> </form> |
<form id="getssn"> <field name="ssn"> <grammar src="http://grammarlib/ssn.gram" type="application/x-jsgf"/> <prompt> Please say social security number.</prompt> <nomatch count="3"> <return event="nomatch"/> </nomatch> <filled> <return namelist="ssn"/> </filled> </field> </form> |
<vxml version="1.0" application="app-root.vxml"> <form id="say_goodbye"> <field name="answer" type="boolean"> <prompt>Shall we say <value expr="application.bye"/>? </prompt> <filled> <if cond="answer"> <exit/> </if> <clear namelist="answer"/> </filled> </field> </form> </vxml> |
<form> <field name="maincourse"> <prompt> Please select an entree. Today, we’re featuring <enumerate/> </prompt> <option dtmf="1" value="fish"> swordfish </option> <option dtmf="2" value="beef"> roast beef </option> <option dtmf="3" value="chicken"> frog legs </option> <filled> <submit next="/cgi-bin/maincourse.cgi" method="post" namelist="maincourse"/> </filled> </field> </form> |
<vxml version="1.0"> <script> function factorial(n) { return (n <= 1)? 1 : n * factorial(n-1); } </script> <form id="form"> <field name="fact" type="number"> <prompt> Tell me a number and I'll tell you its factorial. </prompt> <filled> <prompt> <value expr="fact"/> factorial is <value expr="factorial(fact)"/> </prompt> </filled> </field> </form> </vxml> |
<vxml version="1.0"> <meta name="author" content="John Doe"/> <meta name="maintainer" content="hello-support@hi.example"/> <var name="hi" expr="'Hello World!'"/> <form> <block> <value expr="hi"/> <goto next="#say_goodbye"/> </block> </form> <form id="say_goodbye"> <block> Goodbye! </block> </form> </vxml> |
<form id="launch_missiles"> <field name="password"> <prompt>What is the code word?</prompt> <grammar>rutabaga</grammar> <help>It is the name of an obscure vegetable.</help> <catch event="nomatch noinput" count="3"> <prompt>Security violation!</prompt> <submit next="apprehend_felon" namelist="user_id"/> </catch> </field> <block> <goto next="#get_city"/> </block> </form> |
<form id="get_starting_and_ending_cities"> <field name="start_city"> <grammar src="http://www.grammars.example/voicexml/city.gram"/> <prompt>What is the starting city?</prompt> </field> <field name="end_city"> <grammar src="http://www.grammars.example/voicexml/city.gram"/> <prompt>What is the ending city?</prompt> </field> <filled mode="any" namelist="start_city end_city"> <if cond="start_city == end_city"> <prompt> You can't fly from and to the same city. </prompt> <clear/> </if> </filled> </form> |
<vxml version="1.0"> <form id="billing_adjustment"> <var name="account_number"/> <var name="home_phone"/> <subdialog name="accountinfo" src="acct_info.vxml#basic"> <filled> <assign name="account_number" expr="accountinfo.acctnum"/> <assign name="home_phone" expr="accountinfo.acctphone"/> </filled> </subdialog> <field name="adjustment_amount" type="currency"> <prompt> What is the value of your account adjustment? </prompt> <filled> <submit next="/cgi-bin/updateaccount"/> </filled> </field> </form> </vxml> |
<form id="weather_info"> <block>Welcome to the weather information service.</block> <field name="state"> <prompt>What state?</prompt> <grammar src="state.gram" type="application/x-jsgf"/> <catch event="help"> Please speak the state for which you want the weather. </catch> </field> <field name="city"> <prompt>What city?</prompt> <grammar src="city.gram" type="application/x-jsgf"/> <catch event="help"> Please speak the city for which you want the weather. </catch> </field> <block> <submit next="/servlet/weather" namelist="city state"/> </block> </form> |
<form id="get_from_and_to_cities"> <grammar src="http://www.directions.example/grammars/from_to.gram"/> <block> Welcome to the Driving Directions By Phone. </block> <initial name="bypass_init"> <prompt> Where do you want to drive from and to? </prompt> <nomatch count="1"> Please say something like "from Atlanta Georgia to Toledo Ohio". </nomatch> <nomatch count="2"> I’m sorry, I still don’t understand. I’ll ask you for information one piece at a time. <assign name="bypass_init" expr="true"/> <reprompt/> </nomatch> </initial> <field name="from_city"> <grammar src="http://www.directions.example/grammars/city.gram"/> <prompt>From which city are you leaving?</prompt> … etc. … </field> … etc. … </form> |
<vxml version="1.0"> <form id="getdriverlicense"> <var name="birthday" expr="'1980-02-10'"/> <field name="drivelicense"> <grammar src="http://grammarlib/drivegrammar.gram" type="application/x-jsgf"/> <prompt> Please say your driver’s license number. </prompt> <filled> <if cond="validdrivelicense(drivelicense,birthday)"> <var name="status" expr="true"/> <else/> <var name="status" expr="false"/> </if> <return namelist="drivelicense status"/> </filled> </field> </form> </vxml> |
<vxml version="1.0"> <form> <record name="greeting" beep="true" maxtime="10s" finalsilence="4000ms" dtmfterm="true" type="audio/wav"> <prompt> At the tone, please say your greeting. </prompt> <noinput> I didn't hear anything, please try again. </noinput> </record> <field name="confirm" type="boolean"> <prompt> Your greeting is <value expr="greeting"/>. </prompt> <prompt> To keep it, say yes. To discard it, say no. </prompt> <filled> <if cond="confirm"> <submit next="save_greeting.pl" method="post" namelist="greeting"/> </if> <clear/> </filled> </field> </form> </vxml> |
<form name="transfer"> <var name="mydur" expr="0"/> <block> <audio src="chopin12.wav"/> </block> <transfer name="mycall" dest="phone://18005551234" connecttimeout="30s" bridge="true"> <filled> <assign name="mydur" expr="mycall$.duration"/> <if cond="mycall == 'busy'"> <prompt> Sorry, our customer support team is busy serving other customers. Please try again later. </prompt> <elseif cond="mycall == 'noanswer'"/> <prompt> Sorry, our customer support team's normal hours are 9 am to 7 pm Monday through Saturday. </prompt> </if> </filled> </transfer> <block> <submit namelist="mycall mydur" next="/cgi-bin/report"/> </block> </form> |
<form id="getssn"> <var name="firstname"/> <var name="lastname"/> <field name="ssn"> <grammar src="http://grammarlib/ssn.gram" type="application/x-jsgf"/> <prompt> Please say social security number. </prompt> <filled> <if cond="validssn(firstname,lastname,ssn)"> <assign name="status" expr="true"/> <return namelist="status ssn"/> <else/> <assign name="status" expr="false"/> <return namelist="status"/> </if> </filled> </field> </form> |
<vxml version="1.0"> <form> <transcribe name="message" beep="true" maxtime="30s"> <prompt> What is the message you want to leave? </prompt> <nomatch count="2"> Try to make your message simpler. </nomatch> <nomatch count="3"> Transferring to operator. <goto next="queue_caller.pl"/> </nomatch> </transcribe> <field name="confirm" type="boolean"> <prompt> Your message is <value expr="message"/>. </prompt> <prompt> To send it, say yes. To discard it, say no. </prompt> <filled> <if cond="confirm"> <submit next="send_page.pl" namelist="message"/> </if> <clear/> </filled> </field> </form> </vxml> |
<form> <subdialog name="result" src="#getdriverslicense"> <param name="birthday" expr="'2000-02-10'"/> <filled> <submit next="http://myservice.example/cgi-bin/process"/> </filled> </subdialog> </form> <form id="getdriverslicense"> <var name="birthday"/> <field name="drivelicense"> <grammar src="http://grammarlib/drivegrammar.gram" type="application/x-jsgf"/> <prompt> Please say your driver's license. </prompt> <filled> <if cond="validdrivelicense(drivelicense,birthday)"> <var name="status" expr="true"/> <else/> <var name="status" expr="false"/> </if> <return namelist="drivelicense status"/> </filled> </field> </form> |
<vxml version="1.0"> <form> <var name="hours"/> <var name="minutes"/> <var name="seconds"/> <block> <script> var d = new Date(); hours = d.getHours(); minutes = d.getMinutes(); seconds = d.getSeconds(); </script> </block> <field name="hear_another" type="boolean"> <prompt> The time is <value expr="hours"/> hours, <value expr="minutes"/> minutes, and <value expr="seconds"/> seconds. </prompt> <prompt>Do you want to hear another time?</prompt> <filled> <if cond="hear_another"> <clear/> </if> </filled> </field> </form> </vxml> |
<form id="survey_2000_03_30"> <catch event="exit"> <goto nextitem="confirm_exit"/> </catch> <block> <prompt> Hello, you have been called at random to answer questions critical to U.S. foreign policy. </prompt> </block> <field name="q1" type="boolean"> <prompt>Do you agree with the IMF position on privatizing certain functions of Burkina Faso’s agriculture ministry?</prompt> </field> <field name="q2" type="boolean"> <prompt>If this privatization occurs, will its effects be beneficial mainly to Ouagadougou and Bobo-Dioulasso?</prompt> </field> <field name="q3" type="boolean"> <prompt>Do you agree that sorghum and millet output might thereby increase by as much as four percent per annum?</prompt> </field> <block> <submit next="register" namelist="q1 q2 q3"/> </block> <field name="confirm_exit" type="boolean"> <prompt>You have elected to exit. Are you sure you want to do this, and perhaps adversely affect U.S. foreign policy vis-à-vis sub-Saharan Africa for decades to come?</prompt> <filled> <if cond="confirm_exit"> Okay, but the U.S. State Department is displeased. <exit/> <else/> Good, let’s pick up where we left off. <clear namelist="confirm_exit"/> </if> </filled> </field> </form> |
<vxml version="1.0"> <form id="getcredit"> <var name="status" expr="'no_result'"/> <var name="username"/> <field name="creditcardnum"> <prompt> What is your credit card number? </prompt> <help> I am trying to collect your credit card information. <reprompt/> </help> <nomatch> <return namelist="status"/> </nomatch> <grammar/> </field> <field name="expirydate" type="date"> <prompt> What is the expiry date of this card? </prompt> <help> I am trying to collect the expiry date of the credit card number you provided. <reprompt/> </help> <nomatch> <return namelist="status"/> </nomatch> </field> <block> <assign name="status" expr="'result'"/> <return namelist="status creditcardnum expirydate"/> </block> </form> </vxml> |
<vxml version="1.0"> <var name="username"/> <form id="buysoftware"> <var name="ccn"/> <var name="exp"/> <grammar/> <initial name="start"> <prompt> Please tell us the software product you wish to buy and the operating system on which it must run. </prompt> <noinput> <assign name="start" expr="true"/> </noinput> </initial> <field name="product"> <prompt> Which software product would you like to buy? </prompt> </field> <field mname="operatingsystem"> <prompt> Which operating system does this software need to run on? </prompt> </field> <subdialog name="cc_results" src="http://somedomain.example/ccn.vxml"> <filled> <if cond="cc_results.status=='no_result'"> Sorry, your credit card information could not be Obtained. This order is cancelled. <exit/> <else/> <assign name="ccn" expr="cc_results.creditcardnum"/> <asssign name="exp" expr="cc_results.expirydate"/> </if> </filled> </subdialog> <block> We will now process your order. Please hold. <submit namelist="username product operatingsystem ccn exp"/> </block> </form> </vxml> |
<vxml version="1.0"> <property name="caching" value="safe"/> <property name="audiofetchhint" value="safe"/> <property name="confidence" value="0.75"/> <form> <property name="confidence" value="0.5"/> <property name="bargein" value="false"/> <grammar src="address_book.gram" type="application/x-jsgf"/> <block> <prompt> Welcome to the Voice Address Book </prompt> </block> <initial name="start"> <property name="timeout" value="5s"/> <prompt> Who would you like to call? </prompt> </initial> <field name="person"> <prompt> Say the name of the person you would like to call. </prompt> </field> <field name="location"> <prompt> Say the location of the person you would like to call. </prompt> </field> <field name="confirm" type="boolean"> <prompt> You said to call <value expr="person$.utterance"/> at <value expr="location$.utterance"/>. Is this correct? </prompt> <filled> <if cond="confirm"> <submit next="http://www.messagecentral.example/voice/make_call" namelist="person location"/> </if> <clear/> </filled> </field> </form> </vxml> |
<form id="weather_info"> <grammar src="cityandstate.gram" type="application/x-jsgf"/> <block> <prompt bargein="false"> Welcome to the weather information service. <audio src="http://www.online-ads.example/wis.wav"/> </prompt> </block> <initial name="start"> <prompt> For what city and state would you like the weather? </prompt> <help> Please say the name of the city and state for which you you would like a weather report.</help> <noinput count="1"> <reprompt/> </noinput> <noinput count="2"> <reprompt/> <assign name="start" expr="true"/> </noinput> </initial> <field name="state"> <prompt>What state?</prompt> <help>Please speak the state for which you want the weather.</help> </field> <field name="city"> <prompt>Please say the city in <value expr="state"/> for which you want the weather. </prompt> <help>Please speak the city for which you want the weather.</help> <filled> <if cond="city == 'Los Angeles' && state == undefined"> <assign name="state" expr="'California'"/> </if> </filled> </field> <field name="go_ahead" type="boolean" modal="true"> <prompt>Do you want to hear the weather for <value expr="city"/>, <value expr="state"/>? </prompt> <filled> <if cond="go_ahead"> <prompt bargein="false"> <audio src="http://www.online-ads.example/wis2.wav"/> </prompt> <submit next="/servlet/weather" namelist="city state"/> </if> <clear namelist="start city state go_ahead"/> </filled> </field> </form> |