Okay, I have an answer. :)
HTML5 supports something called Web Storage, which you can read more about at W3Schools. This allows information to be saved between pages, as we desire. There are two kinds of web storage: indefinite localStorage and sessionStorage which expires at the end of browsing session. The latter is more appropriate for our purposes.
I set up a sample form; there are three text input fields, all with class ".name-info". I gave each individual input a class as well (".first-name-li", etc.) for clarity in example, but the id selectors can work just as well. The following JavaScript works:
$(document).ready(function() {
// SAVE THE DEFAULT FORM TITLE (FROM THE FORM SETTINGS)
formtitle = $('#form-title-wrap h1').text();
// COLLECT DEFAULT NAME INPUTS
var fName = $('.first-name-li input:text').val();
var mName = $('.middle-name-li input:text').val();
var lName = $('.last-name-li input:text').val();
// CHECK TO SEE IF THERE ARE NAME INPUTS;
// IF NOT, WE ARE ON THE SUBMIT PAGE. USE sessionStorage TO ACCESS THE INPUT NAMES
if (fName == null || mName == null || lName == null) {
fName = sessionStorage.getItem('fName');
mName = sessionStorage.getItem('mName');
lName = sessionStorage.getItem('lName');
}
// GENERATE CUSTOM TITLE
customTitle(fName,mName,lName);
});
// WHEN THE USER MAKES CHANGES TO THE INPUT FIELDS
$(document).on('keyup', '.name-info input', function() {
// STORE THE CURRENT INPUT VALUES TO sessionStorage
storeNames();
// UPDATE THE TITLE
titleSet();
});
// STORING CURRENT INPUT VALUES TO sessionStorage
function storeNames() {
// STORE THE CURRENT VALUE OF THE INPUT FIELDS IN sessionStorage
sessionStorage.setItem('fName',$('.first-name-li input:text').val());
sessionStorage.setItem('mName',$('.middle-name-li input:text').val());
sessionStorage.setItem('lName',$('.last-name-li input:text').val());
}
// UPDATING THE FORM TITLE
function titleSet() {
// COLLECT THE NAMES STORED IN sessionStorage
var fName = sessionStorage.getItem('fName');
var mName = sessionStorage.getItem('mName');
var lName = sessionStorage.getItem('lName');
// GENERATE CUSTOM TITLE
customTitle(fName,mName,lName);
}
// GENERATING THE CUSTOM TITLE
function customTitle(fName,mName,lName) {
// IF THE INPUTS WERE BLANK, DISPLAY THE DEFAULT FORM TITLE
if ((fName == "" && mName == "" && lName == "")) {
$('#form-title-wrap h1').text(formtitle);
} else {
// OTHERWISE INCLUDE THE NAMES IN THE TITLE
$('#form-title-wrap h1').text(formtitle + ": " + fName + " " + mName + " " + lName);
}
}
In this example, the default form title is set from the Edit Form view. If the names are blank, this default form title is displayed. Otherwise, the form title is in the form "DEFAULT_FORM_TITLE: FIRST_NAME MIDDLE_NAME LAST_NAME". It can be edited, of course, to suit your particular needs.
Hope this helps!
[Edit: moved to main thread, out from under my previous reply.]