Need help connecting web form to Google Sheets
I’m trying to build a simple contact form on my website that automatically saves user responses to a Google Sheets document. I want to use Google Apps Script to handle this process.
My HTML form looks like this:
<form method='post' action='https://script.google.com/macros/s/your-script-id...'>
Your Name: <input type='text' name='userName' />
Email Address: <input type='text' name='userEmail' />
<input type='submit' value='Send' />
</form>
Expected result in my spreadsheet:
| userName | userEmail |
John [email protected]
Can Google Apps Script handle this type of form submission, or should I look into other Google APIs instead?
EDIT: Found a working solution!
var SHEET_ID = '1Abc2Def3Ghi4Jkl5Mno6Pqr7Stu8Vwx9Yz0...';
function doPost(request) {
var ui = UiApp.getActiveApplication();
SpreadsheetApp.openById(SHEET_ID).getSheetByName('Contacts').appendRow([request.parameter.userName, request.parameter.userEmail]);
ui.add(ui.createLabel("Thanks! We received your info: " + request.parameter.userName));
return ui;
}
function buildForm(){
var ui = UiApp.createApplication();
var formPanel = ui.createFormPanel();
var container = ui.createVerticalPanel();
container.add(ui.createLabel('Sign up for our newsletter'));
container.add(ui.createTextBox().setName('userName').setId('userName'));
container.add(ui.createTextBox().setName('userEmail').setId('userEmail'));
container.add(ui.createSubmitButton("Subscribe"));
formPanel.add(container);
ui.add(formPanel);
return ui;
}