Technohead Skrevet 12. august 2011 Del Skrevet 12. august 2011 Jeg holder på å sette opp en webside hvor jeg ønsker å bruke Fancybox på noen linker, f.eks. på "Contact" nederst på websiden. Websidene har jeg ikke laget selv, men jeg forstår såpass HTML at jeg har klart å få på plass koden til Fancybox. Når jeg klikker på "Contact" linken så popper det opp en Fancybox side, hvor man kan skrive en melding til administrator av nettstedet. Problemet er at når jeg trykker på send knappen så lukkes Fancybox og så føres jeg til en vanlig HTML side hvor det står "message sent successfully". Jeg ønsker å forbli i Fancybox også etter å ha trykket på send knappen. Koden i index.html som trigger fancybox er denne: <li><a href="{tplvars.relative_url}contact.php" title="Contact" class="fancybox">Contact</a></li> Den siden som åpnes i fancybox er "contact.php" og ser slik ut: <?php require 'includes/common.inc.php'; require _BASEPATH_.'/includes/user_functions.inc.php'; require _BASEPATH_.'/skins_site/'.get_my_skin().'/lang/contact.inc.php'; check_login_member('contact'); $tpl=new phemplate(_BASEPATH_.'/skins_site/'.get_my_skin().'/','remove_nonjs'); $config=get_site_option(array('use_captcha'),'core'); $output=array(); if (isset($_SESSION['topass']['input'])) { $output=$_SESSION['topass']['input']; } if (empty($_SESSION[_LICENSE_KEY_]['user']['user_id'])) { if ($config['use_captcha']) { require _BASEPATH_.'/includes/classes/sco_captcha.class.php'; $c=new sco_captcha(_BASEPATH_.'/includes/fonts',4); $_SESSION['captcha_word']=$c->gen_rnd_string(4); $output['rand']=make_seed(); $output['use_captcha']=true; } } $output['lang_32']=sanitize_and_format($GLOBALS['_lang'][32],TYPE_STRING,$__field2format[TEXT_DB2DISPLAY]); $output['lang_33']=sanitize_and_format($GLOBALS['_lang'][33],TYPE_STRING,$__field2format[TEXT_DB2DISPLAY]); $output['lang_34']=sanitize_and_format($GLOBALS['_lang'][34],TYPE_STRING,$__field2format[TEXT_DB2DISPLAY]); $output['lang_259']=sanitize_and_format($GLOBALS['_lang'][259],TYPE_STRING,$__field2format[TEXT_DB2DISPLAY]); $tpl->set_file('content','contact.html'); $tpl->set_var('output',$output); $tpl->set_var('tplvars',$tplvars); $tpl->process('content','content',TPL_OPTIONAL); $tplvars['title']=$GLOBALS['_lang'][206]; $tplvars['page_title']=$GLOBALS['_lang'][206]; $tplvars['page']='contact'; $tplvars['css']='contact.css'; unset($page_last_modified_time); // we want everything fresh on this page. include 'frame.php'; Ett eller annet sted i denne koden så lastes en ny side; processors/contact.php når man klikker på "Send" knappen. Altså en ny side med samme navn "contact.php" men som ligger i underkatalogen "processors". Jeg kan desverre ikke noe php, så jeg vet ikke hvor i koden (som vist ovenfor) den nye siden trigges. For eksempel så kan jeg ikke se noen referanse til "send" knappen der... Jeg vet heller ikke om det i det hele tatt er mulig å integrere Fancybox i PHP kode og hva korrekt syntax er...eller finnes det noen parametre som man kan sette i den opprinnelige HTML koden (class="fancybox") som gjør at Fancybox aldri "går ut av sitt gode skinn" med mindre man selv lukker vinduet ? Er det noen her som umiddelbart kan se noen løsning ? Siden skal etterhvert drives kommersielt så jeg vurderer å betale noen for å komme opp med en fungerende løsning. TH Lenke til kommentar
cbastus Skrevet 6. september 2011 Del Skrevet 6. september 2011 Løsningen kan nok være AJAX. Se på JQuery sitt .load()- eller .ajax()-kall Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå