thats what i am doing
the submit event is being added fine. just fomr
properties and methods i am trying to attach to the form are not being added to
the form object.
sorry for the big post but.....
window.addEvent('load', function(){
if($("subscribe")) {
$("subscribe").getElement("a").addEvent("click", function ()
{
if (!$("site-mask"))
{
mask =
createMask("enews-subscribe", "Subscribe to AGEST
eNews");
mask.setOpacity(0);
mask.injectInside($$("body")[0]);
$("cover").setOpacity(0.4);
new
Request.HTML({
url:
"viewmodes/subscriptions/subscribe.cfm",
update :
$("site-mask").getElement("div[class=body]"),
evalScripts : true,
onComplete : function ()
{
setupSubmit();
var fx = new Fx.Morph(mask,
{
duration: 200,
wait:
true,
onComplete : function ()
{
if ($("close-mask"))
{
$("close-mask").addEvent("click", function ()
{
closeMask();
});
}
}
}).start({"opacity":1});
}
}).send();
}
});
}
function setupSubmit()
{
if
($("site-mask").getElement("div[class=body]").getElement("form"))
{
$("site-mask").getElement("div[class=body]").getElement("form").externalSubmit =
true
$("site-mask").getElement("div[class=body]").getElement("form").addEvent("submit",
function (ev) {
new
Event(ev).stop();
this.set("send", {
evalScripts :
true,
onComplete : function
(responseText)
{
$("site-mask").getElement("div[class=body]").set("html",
responseText);
if
($("close-mask"))
{
$("close-mask").addEvent("click", function ()
{
closeMask();
});
}
setupSubmit();
}
});
var result =
this.validator.validateForm();
if (result.length == 0)
{
this.getElement("input[type=submit]").getParent().set("html", "<p
align=\"center\"><strong>Processing your request..</strong><br
/><img src=\"css/images/ajax-loader.gif\"
/></p>");
this.send();
}
});
}
}
////////////////////////////////////////////////////////
});
The first time
the form loads this.validator is available but when it runs and pumps the form
back into the container it is no longer available.