Drupal's Webform provides a number of different elements to let you build everything from simple contact forms, to complex multi-page forms, and forms with conditional fields that only show based upon the value of another field. The elements available to you are all shown below in their default configuration so you can see what's available and some of the unique options you have. Drupal's Webform groups the elements in different categories, not all of which are very intuitive, so this page groups the elements in boxes labeled with the Webform category where you'll find the element. Those categories are: Basic elements - text Advanced elements - email, telephone, numbers, etc Composite elements - address, contact info, custom Markup elements - HTML and alert boxes Options elements - checkboxes, radios, select, likert, sorting Date/time elements File upload Containers Pro-tips Use the "Filter by element name" search box when you add an element - it will save you from scrolling through the list For long forms, start out by adding pages for each part of your form. You can then add your elements to each page. This will create a multi-page form for the user, which can be a lot easier to step through versus a really long, single page form. Start with a template, or duplicate an existing form, to make creating the form easier. Important! You must create a page to add your webform to once you have finished building it, otherwise it will not show up on the Libraries Forms page. Super not intuitive, but at least easy to do once you know where to go: On your form, click the tab at top for "References" Click the "Create webform" button Choose which category of the Libraries website this form belongs to. Everything else can be left as is. Click "Save" Basic elements You will probably most often use the "Text field" in this section. Certain types of information like email, telephone, urls, and dates have specific element types just for them which you should use instead of a plain text field. These special elements will do an additional validation check to make sure what the user enters is in the right format. Use Textarea for collecting longer statements or paragraphs that don't fit neatly in one line. Textarea Text field Advanced elements More specific types of form elements. Using fields like email, telephone, and URL adds an additional validation check to make sure whatever is entered looks like an email/phone/url. Email Email multiple Multiple email addresses may be separated by commas. Emails are only sent to cc and bcc addresses if a To email address is provided. Telephone URL Number Scale - your question goes here. 1 2 3 4 5 Signature Sign above Composite elements Composite elements are predefined groups of fields for common things like address and contact information. These can save you time because you can add just one composite element versus multiple individual fields. Each composite includes all of the fields shown here, but you can choose to hide specific ones (especially on the Contact composite - you can hide company and country, for example). Address Address Address 2 City/Town State/Province - None -AlabamaAlaskaAmerican SamoaArizonaArkansasArmed Forces (Canada, Europe, Africa, or Middle East)Armed Forces AmericasArmed Forces PacificCaliforniaColoradoConnecticutDelawareDistrict of ColumbiaFederated States of MicronesiaFloridaGeorgiaGuamHawaiiIdahoIllinoisIndianaIowaKansasKentuckyLouisianaMaineMarshall IslandsMarylandMassachusettsMichiganMinnesotaMississippiMissouriMontanaNebraskaNevadaNew HampshireNew JerseyNew MexicoNew YorkNorth CarolinaNorth DakotaNorthern Mariana IslandsOhioOklahomaOregonPalauPennsylvaniaPuerto RicoRhode IslandSouth CarolinaSouth DakotaTennesseeTexasUtahVermontVirgin IslandsVirginiaWashingtonWest VirginiaWisconsinWyoming ZIP/Postal Code Country - None -AfghanistanAlbaniaAlgeriaAmerican SamoaAndorraAngolaAnguillaAntarcticaAntigua & BarbudaArgentinaArmeniaArubaAscension IslandAustraliaAustriaAzerbaijanBahamasBahrainBangladeshBarbadosBelarusBelgiumBelizeBeninBermudaBhutanBoliviaBosnia & HerzegovinaBotswanaBouvet IslandBrazilBritish Indian Ocean TerritoryBritish Virgin IslandsBruneiBulgariaBurkina FasoBurundiCambodiaCameroonCanadaCanary IslandsCape VerdeCaribbean NetherlandsCayman IslandsCentral African RepublicCeuta & MelillaChadChileChinaChristmas IslandClipperton IslandCocos (Keeling) IslandsColombiaComorosCongo - BrazzavilleCongo - KinshasaCook IslandsCosta RicaCroatiaCubaCuraçaoCyprusCzechiaCôte d’IvoireDenmarkDiego GarciaDjiboutiDominicaDominican RepublicEcuadorEgyptEl SalvadorEquatorial GuineaEritreaEstoniaEswatiniEthiopiaFalkland IslandsFaroe IslandsFijiFinlandFranceFrench GuianaFrench PolynesiaFrench Southern TerritoriesGabonGambiaGeorgiaGermanyGhanaGibraltarGreeceGreenlandGrenadaGuadeloupeGuamGuatemalaGuernseyGuineaGuinea-BissauGuyanaHaitiHeard & McDonald IslandsHondurasHong Kong SAR ChinaHungaryIcelandIndiaIndonesiaIranIraqIrelandIsle of ManIsraelItalyJamaicaJapanJerseyJordanKazakhstanKenyaKiribatiKosovoKuwaitKyrgyzstanLaosLatviaLebanonLesothoLiberiaLibyaLiechtensteinLithuaniaLuxembourgMacao SAR ChinaMadagascarMalawiMalaysiaMaldivesMaliMaltaMarshall IslandsMartiniqueMauritaniaMauritiusMayotteMexicoMicronesiaMoldovaMonacoMongoliaMontenegroMontserratMoroccoMozambiqueMyanmar (Burma)NamibiaNauruNepalNetherlandsNetherlands AntillesNew CaledoniaNew ZealandNicaraguaNigerNigeriaNiueNorfolk IslandNorthern Mariana IslandsNorth KoreaNorth MacedoniaNorwayOmanOutlying OceaniaPakistanPalauPalestinian TerritoriesPanamaPapua New GuineaParaguayPeruPhilippinesPitcairn IslandsPolandPortugalPuerto RicoQatarRomaniaRussiaRwandaRéunionSamoaSan MarinoSarkSaudi ArabiaSenegalSerbiaSeychellesSierra LeoneSingaporeSint MaartenSlovakiaSloveniaSolomon IslandsSomaliaSouth AfricaSouth Georgia & South Sandwich IslandsSouth KoreaSouth SudanSpainSri LankaSt. BarthélemySt. HelenaSt. Kitts & NevisSt. LuciaSt. MartinSt. Pierre & MiquelonSt. Vincent & GrenadinesSudanSurinameSvalbard & Jan MayenSwedenSwitzerlandSyriaSão Tomé & PríncipeTaiwanTajikistanTanzaniaThailandTimor-LesteTogoTokelauTongaTrinidad & TobagoTristan da CunhaTunisiaTurkmenistanTurks & Caicos IslandsTuvaluTürkiyeU.S. Outlying IslandsU.S. Virgin IslandsUgandaUkraineUnited Arab EmiratesUnited KingdomUnited StatesUruguayUzbekistanVanuatuVatican CityVenezuelaVietnamWallis & FutunaWestern SaharaYemenZambiaZimbabweÅland Islands Contact Name Company Email Phone Address Address 2 City/Town State/Province - None -AlabamaAlaskaAmerican SamoaArizonaArkansasArmed Forces (Canada, Europe, Africa, or Middle East)Armed Forces AmericasArmed Forces PacificCaliforniaColoradoConnecticutDelawareDistrict of ColumbiaFederated States of MicronesiaFloridaGeorgiaGuamHawaiiIdahoIllinoisIndianaIowaKansasKentuckyLouisianaMaineMarshall IslandsMarylandMassachusettsMichiganMinnesotaMississippiMissouriMontanaNebraskaNevadaNew HampshireNew JerseyNew MexicoNew YorkNorth CarolinaNorth DakotaNorthern Mariana IslandsOhioOklahomaOregonPalauPennsylvaniaPuerto RicoRhode IslandSouth CarolinaSouth DakotaTennesseeTexasUtahVermontVirgin IslandsVirginiaWashingtonWest VirginiaWisconsinWyoming ZIP/Postal Code Country - None -AfghanistanAlbaniaAlgeriaAmerican SamoaAndorraAngolaAnguillaAntarcticaAntigua & BarbudaArgentinaArmeniaArubaAscension IslandAustraliaAustriaAzerbaijanBahamasBahrainBangladeshBarbadosBelarusBelgiumBelizeBeninBermudaBhutanBoliviaBosnia & HerzegovinaBotswanaBouvet IslandBrazilBritish Indian Ocean TerritoryBritish Virgin IslandsBruneiBulgariaBurkina FasoBurundiCambodiaCameroonCanadaCanary IslandsCape VerdeCaribbean NetherlandsCayman IslandsCentral African RepublicCeuta & MelillaChadChileChinaChristmas IslandClipperton IslandCocos (Keeling) IslandsColombiaComorosCongo - BrazzavilleCongo - KinshasaCook IslandsCosta RicaCroatiaCubaCuraçaoCyprusCzechiaCôte d’IvoireDenmarkDiego GarciaDjiboutiDominicaDominican RepublicEcuadorEgyptEl SalvadorEquatorial GuineaEritreaEstoniaEswatiniEthiopiaFalkland IslandsFaroe IslandsFijiFinlandFranceFrench GuianaFrench PolynesiaFrench Southern TerritoriesGabonGambiaGeorgiaGermanyGhanaGibraltarGreeceGreenlandGrenadaGuadeloupeGuamGuatemalaGuernseyGuineaGuinea-BissauGuyanaHaitiHeard & McDonald IslandsHondurasHong Kong SAR ChinaHungaryIcelandIndiaIndonesiaIranIraqIrelandIsle of ManIsraelItalyJamaicaJapanJerseyJordanKazakhstanKenyaKiribatiKosovoKuwaitKyrgyzstanLaosLatviaLebanonLesothoLiberiaLibyaLiechtensteinLithuaniaLuxembourgMacao SAR ChinaMadagascarMalawiMalaysiaMaldivesMaliMaltaMarshall IslandsMartiniqueMauritaniaMauritiusMayotteMexicoMicronesiaMoldovaMonacoMongoliaMontenegroMontserratMoroccoMozambiqueMyanmar (Burma)NamibiaNauruNepalNetherlandsNetherlands AntillesNew CaledoniaNew ZealandNicaraguaNigerNigeriaNiueNorfolk IslandNorthern Mariana IslandsNorth KoreaNorth MacedoniaNorwayOmanOutlying OceaniaPakistanPalauPalestinian TerritoriesPanamaPapua New GuineaParaguayPeruPhilippinesPitcairn IslandsPolandPortugalPuerto RicoQatarRomaniaRussiaRwandaRéunionSamoaSan MarinoSarkSaudi ArabiaSenegalSerbiaSeychellesSierra LeoneSingaporeSint MaartenSlovakiaSloveniaSolomon IslandsSomaliaSouth AfricaSouth Georgia & South Sandwich IslandsSouth KoreaSouth SudanSpainSri LankaSt. BarthélemySt. HelenaSt. Kitts & NevisSt. LuciaSt. MartinSt. Pierre & MiquelonSt. Vincent & GrenadinesSudanSurinameSvalbard & Jan MayenSwedenSwitzerlandSyriaSão Tomé & PríncipeTaiwanTajikistanTanzaniaThailandTimor-LesteTogoTokelauTongaTrinidad & TobagoTristan da CunhaTunisiaTurkmenistanTurks & Caicos IslandsTuvaluTürkiyeU.S. Outlying IslandsU.S. Virgin IslandsUgandaUkraineUnited Arab EmiratesUnited KingdomUnited StatesUruguayUzbekistanVanuatuVatican CityVenezuelaVietnamWallis & FutunaWestern SaharaYemenZambiaZimbabweÅland Islands Custom composite Make your own group of fields. This is only useful when you want users to be able to add additional instances of a thing that has multiple fields - like course reserve books that each have a title/author/call#/etc. In most cases to create a group of fields, you should use a fieldset container and put your fields inside that. Re-order Field 1 Field2 Field3 Weight Operations Field 1 Field2 Field3 Item weight Add Remove Add more items more items Markup elements Use these to insert text into your form or messages styled like an alert box. The Message fields lets you select the type of alert which will change the background color. Basic HTML - any type of text can go here, and you have basic formatting options as well, including headings and lists. Message Options elements Various ways to present sets of options or rank things. The fields that have "Other" in the name will automatically add a field for a user to specify what value they want to enter. Note that the webform builder has predefined sets of options for common things like Yes/No, days/months, state names, and rating scales (importance, satisfaction, etc). Use these to save time! Checkboxes Sunday Monday Tuesday Wednesday Thursday Friday Saturday Checkboxes other Sunday Monday Tuesday Wednesday Thursday Friday Saturday Other… Enter other… Radios Sunday Monday Tuesday Wednesday Thursday Friday Saturday Radios other Sunday Monday Tuesday Wednesday Thursday Friday Saturday Other… Enter other… Select - None -SundayMondayTuesdayWednesdayThursdayFridaySaturday Select other Select other - None -SundayMondayTuesdayWednesdayThursdayFridaySaturdayOther… Enter other… Likert - your question goes here Questions Much Worse Somewhat Worse About the Same Somewhat Better Much Better Question 1 Much Worse Somewhat Worse About the Same Somewhat Better Much Better Question 2 Much Worse Somewhat Worse About the Same Somewhat Better Much Better Question 3 Much Worse Somewhat Worse About the Same Somewhat Better Much Better Table sort - your question goes here Weight Sunday Weight for Sunday -7-6-5-4-3-2-101234567 Monday Weight for Monday -7-6-5-4-3-2-101234567 Tuesday Weight for Tuesday -7-6-5-4-3-2-101234567 Wednesday Weight for Wednesday -7-6-5-4-3-2-101234567 Thursday Weight for Thursday -7-6-5-4-3-2-101234567 Friday Weight for Friday -7-6-5-4-3-2-101234567 Saturday Weight for Saturday -7-6-5-4-3-2-101234567 Date/time elements Different ways to enter dates and times. These use the browser's native date and time pickers, so their appearance will vary based upon what browser you're using. NOTE: Don't check the box to use a date picker. These fields include a date picker by default. Date Date and time Date and time: Date Date and time: Time Date list Date list: Year Year1900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050 Date list: Month MonthJanFebMarAprMayJunJulAugSepOctNovDec Time File upload Allow users to upload files. By default, this is limited to one file, but you can allow users to upload a defined number of files. (Avoid setting this to unlimited if possible!). The file types you can upload are listed by file extension below, but you can further limit this by deleting any of the extensions you want (like limit it to gif/jpg/jpeg/png when you know your users will only be uploading images). NOTE: You should always check the box for "Sanitize file names". This will prevent issues with users uploading files with special characters that the internet doesn't like! File One file only.25 MB limit.Allowed types: gif, jpg, jpeg, png, txt, rtf, pdf, odf, doc, docx, xls, xlsx, zip.25 MB limit per form. Containers In addition to using pages to divide up long forms, you can also use containers. Details - create groups of fields that can be open and closed. In most cases, a fieldset is preferred, especially if you have required fields in the group. This lets users see what information they need to enter rather than having to click to see. Fieldset - groups related fields together Section - break up sections of a form by adding a section heading Details Text field 1 Fieldset Text field 2 Section Text field 3 Leave this field blank