Booking Form Sample with Auto Responder
1) Create a chunk for the form and add form code.
[[!FormIt? &hooks=`spam,email,FormItAutoResponder,redirect` &emailTpl=`bookingFormTpl` [[- 'This is the name of your email template chunk' ]] &emailTo=`[email protected]` &emailSubject=`[[++site_name]] Booking Form` &redirectTo=`6` &validate=`firstname:required, lastname:required, email:email:required, phone:required, address:required, suburb:required, propertytype:required, services:required` &fiarTpl=`bookingFormResponderTpl` [[- 'This is the name of your email response chunk' ]] &fiarSubject=`Subject` &fiarToField=`email` &fiarFrom=`[email protected]` &fiarFromName=`YourName` &fiarReplyTo=`[email protected]` ]]
<form action="[[~[[*id]]]]" method="post" class="txtbl"> <div class="row"> <div class="col-md-12"> <h2>Your Information</h2> <div class="form-group col-md-6"> <label class="sr-only" for="firstname">First Name *</label> <input type="text" class="form-control" id="firstname" name="firstname" placeholder="First Name *" value="[[+fi.firstname]]">[[!+fi.error.firstname]] </div> <div class="form-group col-md-6"> <label class="sr-only" for="lastname">Last Name *</label> <input type="text" class="form-control" id="lastname" name="lastname" placeholder="Last Name *" value="[[+fi.lastname]]">[[!+fi.error.lastname]] </div> <div class="form-group col-md-6"> <label class="sr-only" for="email">Email address *</label> <input type="email" class="form-control" id="email" name="email" placeholder="Email address *" value="[[+fi.email]]">[[!+fi.error.email]] </div> <div class="form-group col-md-6"> <label class="sr-only" for="phone">Phone Number *</label> <input type="tel" class="form-control" id="phone" name="phone" placeholder="Phone Number *" value="[[+fi.phone]]">[[!+fi.error.phone]] </div> </div> </div> <div class="row"> <div class="col-md-12"> <h2>Property Details</h2> <div class="form-group col-md-12"> <label class="sr-only" for="firstname">Inspection Address *</label> <input type="text" class="form-control" id="address" name="address" placeholder="Address *" value="[[+fi.address]]">[[!+fi.error.address]] </div> </div> </div> <div class="row"> <div class="form-group col-md-6"> <label class="sr-only" for="lastname">Suburb *</label> <input type="text" class="form-control" id="suburb" name="suburb" placeholder="Suburb *" value="[[+fi.suburb]]">[[!+fi.error.suburb]] </div> <div class="form-group col-md-4"> <label class="sr-only" for="postcode">Post Code</label> <input type="number" class="form-control" id="postcode" name="postcode" placeholder="Post Code" value="[[+fi.postcode]]">[[+fi.error.postcode]] </div> </div> <div class="row"> <div class="form-group col-md-4"> <label class="sr-only" for="state">State</label> <span>Select State</span> <select name="state" value="[[!+fi.state]]"> <option value="QLD" [[!+fi.state:FormItIsSelected=`qld`]]>QLD</option> <option value="NSW" [[!+fi.state:FormItIsSelected=`nsw`]]>NSW</option> <option value="ACT" [[!+fi.state:FormItIsSelected=`act`]]>ACT</option> <option value="VIC" [[!+fi.state:FormItIsSelected=`vic`]]>VIC</option> <option value="SA" [[!+fi.state:FormItIsSelected=`sa`]]>SA</option> <option value="WA" [[!+fi.state:FormItIsSelected=`wa`]]>WA</option> <option value="NT" [[!+fi.state:FormItIsSelected=`nt`]]>NT</option> <option value="TAS" [[!+fi.state:FormItIsSelected=`tas`]]>TAS</option> </select> </div> </div> <div class="row"> <div class="form-group col-md-6"> <label class="sr-only" for="propertytype">Type of Property * </label> <span>* Type Of Property:</span> <span>[[!+fi.error.propertytype]]</span></br> <input type="hidden" name="propertytype[]" value="" /> <label><input type="radio" id="propertytype1" name="propertytype[]" placeholder="House" value="House" [[!+fi.propertytype:FormItIsChecked=`House`]]> House</label> <br> <label><input type="radio" id="propertytype2" name="propertytype[]" placeholder="Unit/Apartment" value="Unit/Apartment" [[!+fi.propertytype:FormItIsChecked=`Unit/Apartment`]]> Unit/Apartment</label> <br> <label><input type="radio" id="propertytype3" name="propertytype[]" placeholder="Townhouse" value="Townhouse" [[!+fi.propertytype:FormItIsChecked=`Townhouse`]]> Townhouse</label> <br> <label><input type="radio" id="propertytype4" name="propertytype[]" placeholder="Property On Acreage" value="Property On Acreage" [[!+fi.propertytype:FormItIsChecked=`Property On Acreage`]]> Property On Acreage</label> <br> <label><input type="radio" id="propertytype5" name="propertytype[]" placeholder="Duplex" value="Duplex" [[!+fi.propertytype:FormItIsChecked=`Duplex`]]> Duplex</label> <br> <label><input type="radio" id="propertytype6" name="propertytype[]" placeholder="Commercial" value="Commercial" [[!+fi.propertytype:FormItIsChecked=`Commercial`]]> Commercial</label> <br> </div> <div class="form-group col-md-6"> <label for="beds">Number of Bedrooms</label> <select name="beds" value="[[!+fi.beds]]"> <option value="0" [[!+.fi.beds:FormItIsSelected='0']]>0</option> <option value="1" [[!+.fi.beds:FormItIsSelected='1']]>1</option> <option value="2" [[!+.fi.beds:FormItIsSelected='2']]>2</option> <option value="3" [[!+.fi.beds:FormItIsSelected='3']]>3</option> <option value="4" [[!+.fi.beds:FormItIsSelected='4']]>4</option> <option value="5+" [[!+.fi.beds:FormItIsSelected='5+']]>5+</option> </select> <label for="baths">Number of Bathrooms</label> <select name="baths" value="[[!+fi.baths]]"> <option value="0" [[!+.fi.baths:FormItIsSelected='0']]>0</option> <option value="1" [[!+.fi.baths:FormItIsSelected='1']]>1</option> <option value="2" [[!+.fi.baths:FormItIsSelected='2']]>2</option> <option value="3" [[!+.fi.baths:FormItIsSelected='3']]>3</option> <option value="4" [[!+.fi.baths:FormItIsSelected='4']]>4</option> <option value="5+" [[!+.fi.baths:FormItIsSelected='5+']]>5+</option> </select> </div> </div> <div class="row"> <h2>Services Required <span>[[!+fi.error.services]]</span> </h2> <div class="form-group col-md-6"> <label class="sr-only" for="services">Services Required *</label> <input type="hidden" name="services[]" value="" /> <label><input type="checkbox" id="services1" name="services[]" placeholder="Building and Pest Inspections" value="Building and Pest Inspections <br>" [[!+fi.services:FormItIsChecked=`Building and Pest Inspections`]]> Building and Pest Inspections</label> <br> <label><input type="checkbox" id="services2" name="services[]" placeholder="Termite Barriers" value="Termite Barriers <br>" [[!+fi.services:FormItIsChecked=`Termite Barriers`]]> Termite Barriers</label> <br> <label> <input type="checkbox" id="services3" name="services[]" placeholder="New House/Unit Defect Report" value="New House/Unit Defect Report <br>" [[!+fi.services:FormItIsChecked=`New House/Unit Defect Report`]]> New House/Unit Defect Report</label> <br> <label> <input type="checkbox" id="services4" name="services[]" placeholder="Structural Failure" value="Structural Failure <br>" [[!+fi.services:FormItIsChecked=`Structural Failure`]]> Structural Failure</label> <br> <label><input type="checkbox" id="services5" name="services[]" placeholder="Home Hand Over Inspections" value="Home Hand Over Inspections <br>" [[!+fi.services:FormItIsChecked=`Home Hand Over Inspections`]]> Home Hand Over Inspections</label> <br> <label><input type="checkbox" id="services6" name="services[]" placeholder="Concrete Inspections" value="Concrete Inspections <br>" [[!+fi.services:FormItIsChecked=`Concrete Inspections`]]> Concrete Inspections</label> <br> <label><input type="checkbox" id="services7" name="services[]" placeholder="Pest Management" value="Pest Management <br>" [[!+fi.services:FormItIsChecked=`Pest Management`]]> Pest Management</label> </div> <div class="form-group col-md-6"> <label><input type="checkbox" id="services8" name="services[]" placeholder="General Pest Spray" value="General Pest Spray <br>" [[!+fi.services:FormItIsChecked=`General Pest Spray`]]> General Pest Spray</label> <br> <label><input type="checkbox" id="services9" name="services[]" placeholder="Asbestos Identifications" value="Asbestos Identifications <br>" [[!+fi.services:FormItIsChecked=`Asbestos Identifications`]]> Asbestos Identifications</label> <br> <label><input type="checkbox" id="services10" name="services[]" placeholder="Rental Maintenance Report" value="Rental Maintenance Report <br>" [[!+fi.services:FormItIsChecked=`Rental Maintenance Report`]]> Rental Maintenance Report</label> <br> <label><input type="checkbox" id="services11" name="services[]" placeholder="Storm Damage" value="Storm Damage <br>" [[!+fi.services:FormItIsChecked=`Storm Damage`]]> Storm Damage</label> <br> <label><input type="checkbox" id="services12" name="services[]" placeholder="Carpentry Inspections" value="Carpentry Inspections <br>" [[!+fi.services:FormItIsChecked=`Concrete Inspections`]]> Carpentry Inspections</label> <br> <label><input type="checkbox" id="services13" name="services[]" placeholder="Roofing and Guttering Inspections" value="Roofing and Guttering Inspections <br>" [[!+fi.services:FormItIsChecked=`Roofing and Guttering Inspections`]]> Roofing and Guttering Inspections</label> <br> </div> </div> <div class="row"> <div class="form-group col-md-6"> <label class="sr-only" for="comment">Comments/Details</label> <textarea class="form-control" id="comment" name="comment" placeholder="Comments/Details">[[+fi.comment]]</textarea> </div> </div> <div class="row"> <div class="form-group col-xs-12 text-xs-right"> <button type="submit" id="submit" class="btn btn-primary hvr-grow">Submit</button> </div> </div> </form>
2) Create a chunk for the form email response:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Booking Form</title> <style type="text/css"> body{font-family:Arial, Helvetica, sans-serif;font-size:12px;} h1{font-size:18px;} h2{font-size:16px;color:#dd3743;} .form-row{background-color:#eee;} </style> </head> <body> <h1>[[++site_name]] Booking Form</h1> <table border="0" cellspacing="0" cellpadding="5" width="620"> <tr> <td><h2>Customer Details</h2></td> </tr> <tr> <td width="30%" class="form-row"><strong>First Name</strong></td> <td width="70%" class="form-row">[[+firstname]]</td> </tr> <tr> <td><strong>Last Name</strong></td> <td>[[+lastname]]</td> </tr> <tr> <td class="form-row"><strong>Email</strong></td> <td class="form-row">[[+email]]</td> </tr> <tr> <td><strong>Phone Number</strong></td> <td>[[+phone]]</td> </tr> <tr> <td><h2>Property Details</h2></td> </tr> <tr> <td class="form-row"><strong>Address</strong></td> <td class="form-row">[[+address]]</td> </tr> <tr> <td><strong>Suburb</strong></td> <td>[[+suburb]]</td> </tr> <tr> <td class="form-row"><strong>Post Code</strong></td> <td class="form-row">[[+postcode]]</td> </tr> <tr> <td><strong>State</strong></td> <td>[[+state]]</td> </tr> <tr> <td class="form-row"><strong>Property Type</strong></td> <td class="form-row">[[+propertytype]]</td> </tr> <tr> <td><strong>Number of Beds</strong></td> <td>[[+beds]]</td> </tr> <tr> <td class="form-row"><strong>Number of Bathrooms</strong></td> <td class="form-row">[[+baths]]</td> </tr> <tr> <td><h2>Services Required</h2></td> </tr> <tr> <td class="form-row"><strong>Services</strong></td> <td class="form-row">[[+services]]<br></td> </tr> <tr> <td><strong>Additional Comments/Details</strong></td> <td>[[+comment]]</td> </tr> </table> </body> </html>
3) Create a chunk for the form email responder that get sents to the form filler:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Untitled Document</title> <style type="text/css"> .form-row { background-color: #eeeeee; } body { font-family: Arial, Helvetica, sans-serif; font-size: 12px; } h1 { font-size: 18px; } h2 { font-size: 16px; color:#666; } </style> </head> <body> <img src="a logo maybe" width="400" alt="logo"> <h1>[[++site_name]] Booking Form</h1> <p>Thank you for contacting .</p> <p style="color:red; font-size:15px;">*PLEASE NOTE YOUR BOOKING IS NOT FINALISED*</p> <p>A member of our staff will get back to you as soon as possible to confirm your quote and the date and time of your inspection.</p> <p>If you have any questions or if your matter is urgent, please phone .... or email <a href="mailto:">[email protected]</a> to get in touch with us straight away.</p> </body> </html>
4) Create your contact page (resource) and add the modx call for the contact form chunk in the content area
[[$contact_form]]
Get In Touch
Have a question? or perhaps spotted a problem?
Maybe you have something you would like to add. Drop us a line anytime!