Hi all,
I've just started using jquery, and as you can tell from my blog, very close
to just having started javascript, but I'm determined to do things properly.
I've written a post function that, for the sake of argument, pops an alert
when you submit a form.
$(document).ready(function(){
initialiseForm();
});
function initialiseForm() {
$("form#fPollX").bind("submit", post());
}
function post() {
alert('hello');
return false;
}
This works fine. Now I want to abstract it out so that any form can (for
this version anyway) return its own message, based (currently) on a switch
in post(). Either or neither form or both may be on the page.
So now I've tried:
$(document).ready(function(){
initialiseForm("fPollX");
initialiseForm("fPollY");
});
function initialiseForm(formID) {
if (!document.getElementById) return false;
if(document.getElementById(formID)){
theForm = "form#" + formID;
$(theForm).bind("submit", post(formID));
}
}
function post(formName) {
switch(formName){
case "fPollX":
alert('hello X ' + formName);
return false;
break;
case "fPollY":
alert('hello Y ' + formName);
return false;
break;
default:
return false;
}
}
The problem with this, I think is the fact I'm trying to 'bind' a function
to a variable using the $( ) function. In this case, the post() function
isn't called, it just runs ( e.g. alerting "hello X fPollX") the correct
case, if the form is on the page).
The question here is either: how do I bind a function to a submit event, if
I don't know exactly what the form's going to be called in the function?
Many thanks in advance for your help,
All the best,
Dan.
--
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/