Thnaks very much Ian and xag for replying to my problem.
Ian, I downloaded the updates andit includes a lot or js files, one of which is the spryutils.js however I have absolutley no idea as to how to use thie beyond including the javascript code into my web page. Am I suppsed to lado all the include files in the downlaod into the corresponding folders in my dreamweaver installation? I used the dreamweaver update.mxp file but nothing seem to have changed. The other problem is that according to another forum post I read, they say we must use the spry.utils.cookie.js function but the contents of my spryutils.js has no reference to cookies whatsoever and appears to refer to some type of form.. I have included the spryutils file hereunder so you can see (sorry chaps but am a total newbie on this type of programming). I am using dreamweaver data form, buttons etc..does this make a difference when using spry or must I use the built in spry data management forms etc..
Thanks very much for your time
Ian... I have perused the links and theya re helpful but likewise the file I have does not seem to correspond with what peole are saying about the javascript file....
*****spryutils.js code*******
var Spry; if (!Spry) Spry = {}; if (!Spry.Utils) Spry.Utils = {};
Spry.Utils.submitForm = function(form, callback, opts)
{
if (!form)
return true;
if ( typeof form == 'string' )
form = Spry.$(form) || document.forms[form];
var frmOpts = {};
frmOpts.method = form.getAttribute('method');
frmOpts.url = form.getAttribute('action') || document.location.href;
frmOpts.enctype = form.getAttribute('enctype');
Spry.Utils.setOptions(frmOpts, opts);
var submitData = Spry.Utils.extractParamsFromForm(form, frmOpts.elements);
if (frmOpts.additionalData)
submitData += "&" + frmOpts.additionalData;
if (!frmOpts.enctype || frmOpts.enctype.toLowerCase() != 'multipart/form-data')
{
// Ajax submission of a form doesn't work for multipart/form-data!
frmOpts.method = (frmOpts.method && frmOpts.method.toLowerCase() == "post") ? 'POST' : 'GET';
if (frmOpts.method == "GET")
{
// Data will be submitted in the url.
if (frmOpts.url.indexOf('?') == -1)
frmOpts.url += '?';
else
frmOpts.url += '&';
frmOpts.url += submitData;
}
else
{
// Send Content-Type header.
if (!frmOpts.headers) frmOpts.headers = {};
if (!frmOpts.headers['Content-Type'] || frmOpts.headers['Content-Type'].indexOf("application/x-www-form-urlencoded") ==-1 )
frmOpts.headers['Content-Type'] = 'application/x-www-form-urlencoded';
// Set the postData
frmOpts.postData = submitData;
}
Spry.Utils.loadURL(frmOpts.method, frmOpts.url, true, callback, frmOpts);
return false;
}
// Native submission when 'multipart/form-data' is used.
return true;
};
Spry.Utils.extractParamsFromForm = function (form, elements)
{
if (!form)
return '';
if ( typeof form == 'string' )
form = document.getElementById(form) || document.forms[form];
var formElements;
if (elements)
formElements = ',' + elements.join(',') + ',';
var compStack = new Array(); // key=value pairs
var el;
for (var i = 0; i < form.elements.length; i++ )
{
el = form.elements[i];
if (el.disabled || !el.name)
{
// Don't submit disabled elements.
// Don't submit elements without name.
continue;
}
if (!el.type)
{
// It seems that this element doesn't have a type set,
// so skip it.
continue;
}
if (formElements && formElements.indexOf(',' + el.name + ',')==-1)
continue;
switch(el.type.toLowerCase())
{
case 'text':
case 'password':
case 'textarea':
case 'hidden':
case 'submit':
compStack.push(encodeURIComponent(el.name) + '=' + encodeURIComponent(el.value));
break;
case 'select-one':
var value = '';
var opt;
if (el.selectedIndex >= 0) {
opt = el.options[el.selectedIndex];
value = opt.value || opt.text;
}
compStack.push(encodeURIComponent(el.name) + '=' + encodeURIComponent(value));
break;
case 'select-multiple':
for (var j = 0; j < el.length; j++)
{
if (el.options[j].selected)
{
value = el.options[j].value || el.options[j].text;
compStack.push(encodeURIComponent(el.name) + '=' + encodeURIComponent(value));
}
}
break;
case 'checkbox':
case 'radio':
if (el.checked)
compStack.push(encodeURIComponent(el.name) + '=' + encodeURIComponent(el.value));
break;
default:
// file, button, reset
break;
}
}
return compStack.join('&');
};