Do you want getPost to be called during the execution of initialiseForm, or
later in response to the 'submit' event? For the latter, use this (added
code in red):
function initialiseForm(formId) {
$(formId).bind('submit', function() { getPost(formId) } );
}
-Mike
_____
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Dan Eastwell
Sent: Monday, January 08, 2007 4:24 AM
To: jQuery Discussion.
Subject: [jQuery] Passing values to a custom function
Hi again,
following up my previous post where I was trying to bind a function to a
submit event, I'm now trying to pass values from the function that returns a
function to the bound submit event.
I've a number of forms on a page, that perform a variety of functions, some
similar. I'm trying to create a custom function that posts a checkbox
variable, but within the context of the function that returns a function, I
can't pass the variables across.
If I put an alert(formName); etc, in the postCheckbox function, it confirms
the values are being passed across, but alert(document.formName.tagName); ,
for example, gives 'undefined'.
Why does the function not abstract out in this case?
Many thanks,
Dan.
$(document).ready(function(){
initialiseForm("#PollX");
initialiseForm("#PollY");
initialiseForm("#RateX");
});
function initialiseForm(formId) {
$(formId).bind('submit', getPost(formId));
}
function getPost(formId) {
return function() {
switch(formId){
case "#PollX":
postCheckbox("PollX", "PollXGroup", "div#PollXDiv", "
PollXresults.php?PollXRadio=")
return false;
break;
case "#PollY":
//do something else
return false;
break;
case "#RateX":
// do more things
postCheckbox("RateX", "RateXGroup", "div#RateXDiv",
"RateXresults.php?RateXRadio=")
return false;
break;
default:
return false;
}
};
}
function postCheckbox(formName, radioGroupName, replacementBlock, postURL){
for (var i=0; i < document.formName.radioGroupName.length; i++) {
if (document.formName.radioGroupName[i].checked){
var radioValue = document.formName.radioGroupName[i].value;
}
}
if(radioValue){
$(replacementBlock).load(postURL + radioValue).fadeIn("slow");
}
}
--
Daniel Eastwell
Portfolio and articles:
http://www.thoughtballoon.co.uk
Blog:
http://www.thoughtballoon.co.uk/blog
_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/