Form Publishing Options


On this page

How to retrieve your form’s HTML source code
How to publish your form using a IFRAME
How to publish your form using a server-side script (API)

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://tfaforms.com/YOUR_FORM_ID" height="800" width="600" 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.

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 server runs 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 server runs 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(INSERT_FORM_ID_HERE, request.getParameter('tfa_next') )%>
</body>
</html>

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!