Open Fancybox (or equiv) from Form input type=“submit”

后端 未结 9 1411
无人及你
无人及你 2020-12-01 07:10

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:

         


        
9条回答
  •  伪装坚强ぢ
    2020-12-01 07:43

    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:

     name="fancybox-frame'+(new Date).getTime()+'"
    

    Now you want to rename the whole:

    fancybox-frame'+(new Date).getTime()+'` 
    

    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:

    //activate jquery on page load and set onComplete the most important part of this working
    
    $(document).ready(function(){
    
            $("#a").fancybox({
                    'width'             : '75%',
                    'height'            : '100%',
                    'autoScale'         : false,
                    'type'              : 'iframe',
                    'onComplete':function (){$('#formid').submit();},
                }); 
             });
    
    //function called onclick of form button.      
    function activatefancybox(Who){
        $("#setID").val(Who); // i set the value of a hidden input on the form
        $("#a").trigger('click');//trigger the hidden fancybox link
    
        }
    
    // hidden link 
      
    
     // form to submit to iframe to display results. 
     // it is important to set the target of the form to the name of 
     // the iframe you renamed in the fancybox js file.
     

    The proccess is:

    click submit -> call function -> function click FB link -> onComplete

    onComplete Submits form to the iframe after FB has loaded it! done.

    Please note I have ripped this out of my current project and have just edited certain required parts, I am still an amateur coder and would reccomend the ajax if you can. and also am only using FB1! FB2 is now available.

提交回复
热议问题