is there a way to get a fancybox (http://fancy.klade.lv/) or any other lightbox from submitting a FORM (with an image button)?
HTML looks like this:
<form action="/ACTION/FastFindObj" method="post">
<input name="fastfind" class="fastfind" value="3463" type="text">
<input name="weiter" type="submit">
</form>
These won't do:
$("form").fancybox();
$("input").fancybox();
$("input[name='weiter']").fancybox();
Anyone spotting my mistake or having a workaround or an alternative script? Thanks in advance
Based from
--
i have just been struggling with this and have found a way to display the results in the iframe of fancy box, i am not good with ajax yet so needed a php solution using jquery any ways here goes, my first answer!!:
a little tweaking will need to be done in your jquery.fancybox js file, i was using
jquery.fancybox.1.3.4.pack.js
. open this up with any editor etc., and search for:name="fancybox-frame
: thats it, there should only be one instance of this found and will look like:Now you want to rename the whole:
to anything your want, i just called it:
"fbframe"
and save the file. Now add the jquery settings, and form as follows and it should work fine:The proccess is:
onComplete Submits form to the iframe after FB has loaded it! done.
Fancybox is able deal with ajax requests directly without the need of extra jQuery scripts.
You can do a ajax submit of the form data, store the data in the session and then trigger the link click.
I just had to do this. Here's how I went about it.
That way you can submit the form and call the fancybox all in one shot. It does submit the form ajax style. The "submit" button needs to be in an <a> tag.
Hope that helps.
I believe all the other answers miss the point of the question (unless I am the one misunderstanding). What I think the author wanted was to have it such that when a form is submitted, its results are displayed in a fancybox. I didn't find that any of the other answers provided that functionality.
To achieve this, I used the jQuery Form Plugin (http://malsup.com/jquery/form/) to easily convert the form to an ajax call. Then I used the success callback to load the response into a fancybox using a manual call to $.fancybox().
So instead of attaching fancybox to some artificial <a> tag, you attach ajaxForm to the form itself.