/    Sign up×
Community /Pin to ProfileBookmark

Cookie redirect for webform.

Hi all.

Now to the question… how can I take this JavaScript code ([url]http://javascript.internet.com/cookies/cookie-redirect.html[/url]) one step further, that prevents refreshing of the page until all of the form is completed, and after the submit button is clicked.

(BTW, THANK YOU Ronnie T. Moore for the code, even though it’s 11+ years old). ?

The webform that I am using, is from “Google Docs”.

Here’s the coding for the form:

[CODE]<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN” “http://www.w3.org/TR/html4/strict.dtd”><html><head><link rel=”shortcut icon” href=”//www.google.com/images/icons/product/forms-16.png” type=”image/x-icon”>
<meta http-equiv=”Content-type” content=”text/html; charset=utf-8″>
<title>Untitled form</title>

<link href=’####-published_form_compiled.css’ type=’text/css’ rel=’stylesheet’>
<link href=’####-published_form_compiled.css’ type=’text/css’ rel=’stylesheet’>

<script type=”text/javascript”>

function validateForm()
{
var x=document.forms[“ss-form”][“entry.1.single”, “entry.2.single”, “entry.3.single”, “entry.4.single”, “entry.6.single”, “entry.7.single”, “entry.8.single”].value;
if (x==null || x==””)
{
alert(“Please fill out missing required form items.”);
return false;
}
}
</script>

<script type=”text/javascript” src=”cookieRedirect.js”></script>

<style type=”text/css”>
<!–
body {
background-color: #FFF;
margin-left: 0px;
}
body,td,th {
color: #000;
font-family: GillSans, Arial;
}
–>
</style>

</head>
<body class=”ss-base-body” dir=”ltr”>
<div class=”ss-form-container”>
<div class=”ss-form-heading”>

<!– script type=”text/javascript” src=”cookieRedirect.js”></script –>
<p></p>

<hr class=”ss-email-break” style=”display:none;”>
<div class=”ss-required-asterisk”>* Required</div></div>

<div class=”ss-form”><!– <form action=”https://docs.google.com/spreadsheet/formResponse?hl=en_US&amp;formkey=some letters for the document” method=”POST” id=”ss-form”> –>

<script type=”text/javascript”>var submitted=false;</script>
<iframe name=”hidden_iframe” id=”hidden_iframe”
style=”display:none;” onload=”if(submitted)
{window.location=’ok.htm’;}”></iframe>
<form action=”https://docs.google.com/spreadsheet/formResponse?hl=en_US&amp;formkey=some letters for the document” method=”post” id=”ss-form” target=”hidden_iframe” onsubmit=”return validateForm(submitted=true)”>

<!– onsubmit=”submitted=true;” –>

<br>
<div class=”errorbox-good”>
<div class=”ss-item ss-item-required ss-text”><div class=”ss-form-entry”><label class=”ss-q-title” for=”entry_1″>First Name
<span class=”ss-required-asterisk”>*</span></label>
<label class=”ss-q-help” for=”entry_1″></label>
<input type=”text” name=”entry.1.single” value=”” class=”ss-q-short” id=”entry_1″ onClick=”SetCookie(‘courageous’, this.name, exp);”>
</div></div></div>
<br> <div class=”errorbox-good”>
<div class=”ss-item ss-item-required ss-text”><div class=”ss-form-entry”><label class=”ss-q-title” for=”entry_2″>Last Name
<span class=”ss-required-asterisk”>*</span></label>
<label class=”ss-q-help” for=”entry_2″></label>
<input type=”text” name=”entry.2.single” value=”” class=”ss-q-short” id=”entry_2″></div></div></div>
<br> <div class=”errorbox-good”>

<div class=”ss-item ss-text”><div class=”ss-form-entry”><label class=”ss-q-title” for=”entry_0″>Degrees/Licenses
</label>
<label class=”ss-q-help” for=”entry_0″></label>
<input type=”text” name=”entry.0.single” value=”” class=”ss-q-short” id=”entry_0″></div></div></div>
<br> <div class=”errorbox-good”>
<div class=”ss-item ss-item-required ss-text”><div class=”ss-form-entry”><label class=”ss-q-title” for=”entry_3″>E-mail Address
<span class=”ss-required-asterisk”>*</span></label>
<label class=”ss-q-help” for=”entry_3″></label>
<input type=”text” name=”entry.3.single” value=”” class=”ss-q-short” id=”entry_3″></div></div></div>
<br> <div class=”errorbox-good”>
<div class=”ss-item ss-item-required ss-text”><div class=”ss-form-entry”><label class=”ss-q-title” for=”entry_4″>Company
<span class=”ss-required-asterisk”>*</span></label>
<label class=”ss-q-help” for=”entry_4″></label>

<input type=”text” name=”entry.4.single” value=”” class=”ss-q-short” id=”entry_4″></div></div></div>
<br> <div class=”errorbox-good”>
<div class=”ss-item ss-text”><div class=”ss-form-entry”><label class=”ss-q-title” for=”entry_5″>Street Address/PO Box
</label>
<label class=”ss-q-help” for=”entry_5″></label>
<input type=”text” name=”entry.5.single” value=”” class=”ss-q-short” id=”entry_5″></div></div></div>
<br> <div class=”errorbox-good”>
<div class=”ss-item ss-item-required ss-text”><div class=”ss-form-entry”><label class=”ss-q-title” for=”entry_6″>City
<span class=”ss-required-asterisk”>*</span></label>
<label class=”ss-q-help” for=”entry_6″></label>
<input type=”text” name=”entry.6.single” value=”” class=”ss-q-short” id=”entry_6″></div></div></div>
<br> <div class=”errorbox-good”>
<div class=”ss-item ss-item-required ss-text”><div class=”ss-form-entry”><label class=”ss-q-title” for=”entry_7″>State

<span class=”ss-required-asterisk”>*</span></label>
<label class=”ss-q-help” for=”entry_7″></label>
<input type=”text” name=”entry.7.single” value=”” class=”ss-q-short” id=”entry_7″></div></div></div>
<br> <div class=”errorbox-good”>
<div class=”ss-item ss-item-required ss-text”><div class=”ss-form-entry”><label class=”ss-q-title” for=”entry_8″>Zip
<span class=”ss-required-asterisk”>*</span></label>
<label class=”ss-q-help” for=”entry_8″></label>
<input type=”text” name=”entry.8.single” value=”” class=”ss-q-short” id=”entry_8″ onClick=”SetCookie(‘courageous’, this.name, exp);”>
</div></div></div>
<br> <div class=”errorbox-good”>
<div class=”ss-item ss-text”><div class=”ss-form-entry”><label class=”ss-q-title” for=”entry_9″>Phone
</label>
<label class=”ss-q-help” for=”entry_9″></label>
<input type=”text” name=”entry.9.single” value=”” class=”ss-q-short” id=”entry_9″></div></div></div>
<br>
<input type=”hidden” name=”pageNumber” value=”0″>
<input type=”hidden” name=”backupCache” value=””>

<div class=”ss-item ss-navigate”><div class=”ss-form-entry”>
<input type=”submit” name=”submit” value=”Submit”></div></div></form>
<script type=”text/javascript”>

(function() {
var divs = document.getElementById(‘ss-form’).
getElementsByTagName(‘div’);
var numDivs = divs.length;
for (var j = 0; j < numDivs; j++) {
if (divs[j].className == ‘errorbox-bad’) {
divs[j].lastChild.firstChild.lastChild.focus();
return;
}
}
for (var i = 0; i < numDivs; i++) {
var div = divs[i];
if (div.className == ‘ss-form-entry’ &&
div.firstChild &&
div.firstChild.className == ‘ss-q-title’) {
div.lastChild.focus();
return;
}
}
})();
</script></div>
<div class=”ss-footer”><div class=”ss-attribution”></div>
<div class=”ss-legal”><span class=”ss-powered-by”>Powered by <a href=”http://docs.google.com”>Google Docs</a></span>
<span class=”ss-terms”><small>

<a href=”http://www.google.com/accounts/TOS”>Terms of Service</a>


<a href=”http://www.google.com/google-d-s/terms.html”>Additional Terms</a></small></span></div></div></div></body></html>[/CODE]

Here’s the coding for the redirect:

[CODE]var expDays = 30;
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

function getCookieVal (offset) {
var endstr = document.cookie.indexOf (“;”, offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg = name + “=”;
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(” “, i) + 1;
if (i == 0) break;
}
return null;
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + “=” + escape (value) +
((expires == null) ? “” : (“; expires=” + expires.toGMTString())) +
((path == null) ? “” : (“; path=” + path)) +
((domain == null) ? “” : (“; domain=” + domain)) +
((secure == true) ? “; secure” : “”);
}
function DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() – 1);
var cval = GetCookie (name);
document.cookie = name + “=” + cval + “; expires=” + exp.toGMTString();
}

var favorite = GetCookie(‘courageous’);

if (favorite != null) {
switch (favorite) {
case ‘entry.1.single’ : url = ‘ok.htm’; // change these!
break;

case ‘entry.8.single’ : url = ‘ok.htm’;
break;
}
window.location.href = url;
//alert(‘You would have been taken to the ‘ + favorite + ‘ page (‘ + url + ‘), but this is just a demo!’);
}
[/CODE]

Thanks for the help.

to post a comment
JavaScript

0Be the first to comment 😎

×

Success!

Help @PockySticks spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.16,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...