Form Publishing Options

How to retrieve your form's HTML source code

  1. First, log into your formassembly.com account, go to the 'forms' tab and click on the form you need to set up. This opens the form properties panel on the right-hand side.
  2. In the "Publish" tab, 'Option 2' section, copy the content of the text box (or click the "Download it" link and open the HTML file in your HTML editor).
  3. Using your favorite web editor, create a new page on your site and paste the HTML. When doing this, make sure that you are editing the HTML code directly (you should be able to see and edit the HTML tags).
  4. When copy and pasting, you will notice that the HTML starts with:
    <!-- FORM: HEAD SECTION -->,
    and further down, there's
    <!-- FORM: BODY SECTION -->
    Ideally, you will want to place the HTML between these two comments before the closing </HEAD> tag in your page.
    If this is confusing, just ignore this particular instruction, it should work anyway.
  5. Upload the page (if applicable) and test. You should be able to see the form, submit it, and the form validation should work (ie. you should see an error if a required field is left empty).

How to publish your form using a IFRAME

  1. Log into your formassembly.com account, go to the 'forms' tab and click on the form you need to set up. This opens the form properties panel on the right-hand side.
  2. In the "Publish" tab, note the public address of your form.
  3. Using your favorite web page editor, create a new page on your site and paste the following code, changing the address to match the public address of your form.
    <iframe src="http://app.formassembly.com/forms/view/YOUR_FORM_ID" height="400" width="200" frameborder="0" ></iframe>
  4. You will need to adjust the height and width parameter until your form fits in the iframe.
  5. If you need to remove the default background from the form, follow these instructions (see 'Removing the default background on forms hosted directly on FormAssembly.com').

How to publish your form using a server-side script (API)

Jump to code sample for: PHP | ASP | .NET | Ruby on Rails | Java

Notice: This method requires a basic understanding of programming for the web and may not work in all server environments.

Using your preferred website editor, copy & paste the following code sample in the web page where you want your form to be visible. When doing this, make sure that you are editing the HTML code directly (often called 'HTML view', or 'code view').

Your form URL is shown in the "Publish" tab, in the "Option 2 - Publish on your own website" section. Change the URL in the code sample below to match your form's URL. Only the last part (INSERT_FORM_ID_HERE) should be different.

If your server runs PHP:

<?php if(!isset($_GET['tfa_next'])) { echo file_get_contents("http://app.formassembly.com/rest/forms/view/INSERT_FORM_ID_HERE"); } else { echo file_get_contents("http://app.formassembly.com/rest".$_GET['tfa_next']); } ?>

 

If your server runs ASP:

<% Dim objWinHttp Dim strHTML Set objWinHttp = Server.CreateObject("WinHttp.WinHttpRequest.5.1") if(request.querystring("tfa_next")="") then objWinHttp.Open "GET", "http://app.formassembly.com/rest/forms/view/INSERT_FORM_ID_HERE" else objWinHttp.Open "GET", "http://app.formassembly.com/rest" & request.querystring("tfa_next") end if objWinHttp.Send Response.Write objWinHttp.ResponseText Set objWinHttp = Nothing %>

 

If your server runs IIS/.NET:

<%@ Import Namespace="System" %> <%@ Import Namespace="System.IO" %> <%@ Import Namespace="System.Net" %> <%@ Import Namespace="System.Text" %> <html> <script language="C#" runat="server"> void Page_Load(Object Src, EventArgs E) { WebRequest request; if (Request.QueryString["tfa_next"] == null) { request = WebRequest.Create("http://app.formassembly.com/rest/forms/view/INSERT_FORM_ID_HERE"); } else { request = WebRequest.Create("http://app.formassembly.com/rest" + Request.QueryString["tfa_next"]); } WebResponse response = request.GetResponse (); Stream dataStream = response.GetResponseStream (); StreamReader reader = new StreamReader (dataStream, Encoding.UTF8); FAForm.InnerHtml = reader.ReadToEnd (); reader.Close (); response.Close (); } </script> <body> <span id="FAForm" runat="server"/> </body> </html>

 

If your run Ruby on Rails:

In your controller: def feedback if params[:tfa_next] url = "/rest/#{params[:tfa_next]}" else url = "/rest/forms/view/INSERT_FORM_ID_HERE" end response = Net::HTTP.get_response("app.formassembly.com", url).body @form_head, @form_body = response.split('<!-- FORM: BODY SECTION -->') end In your view: <% content_for("head") do %> <%= @form_head %> <% end %> <%= @form_body %> In your layout: <head> [...] <%= yield :head %> </head>

 

If your run Java:

Resource
Download Package: com.formassembly.api.rest
JSP Example:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="com.formassembly.api.rest.Form" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>FormAssembly REST API JAVA Example</title> </head> <body> <%=Form.getHTML(2, request.getParameter("tfa_next") )%> </body> </html></p>

 

If your server uses a different server-side technology:

Regardless of what technology is available, if your server is capable of doing HTTP requests, you should be able to retrieve and display the form. Please refer to your server documentation or google for more information.

We'd love to expand this section. If you have a working method not documented here, please email it to us at support@formassembly.com. Thank you!