Jump to content

Submit a form to a lightbox from a link


nurfnose
 Share

Recommended Posts

I am trying to have a link submit some form data to a lightbox ( I am using facebox) and am having some trouble. The basic code I am working with is:

<form name="form" method="post" action="test.asp"><ul><li><a  href="#" onclick="document.forms['form'].dept.value = 'ACC'; document.forms['form'].course.value = '115'; document.form.submit('test.asp');" rel="facebox">ACC 115 Payroll Accounting</a></li></ul><input type="hidden" value="" name="dept" id="dept"><input type="hidden" value="" name="course" id="course"></form><script type="text/javascript">$('a[rel*=facebox]').facebox({ loading_image: '/images/loading.gif', close_image: '/images/closelabel.gif' });</script>

This file submits to the test.asp file which processes the XML data which the course descriptions live.

<%dim dept, coursedept = "ACC"course = "115"Set objxml = Server.CreateObject("Microsoft.XMLDOM")objxml.async = falseobjxml.load (Server.MapPath("classes.xml"))set ElemClass = objxml.getElementsByTagName("class[@dept='"&dept&"' and @class='"&course&"']")set ElemTitle = objxml.getElementsByTagName("class[@dept='"&dept&"' and @class='"&course&"']/title")set ElemDescription = objxml.getElementsByTagName("class[@dept='"&dept&"' and @class='"&course&"']/description")set ElemPrereqs = objxml.getElementsByTagName("class[@dept='"&dept&"' and @class='"&course&"']/prereqs")%><!DOCTYPE html><html><head><meta charset="utf-8"><title><% Response.Write(dept&" "&course) %></title></head><body><%For i=0 To (ElemClass.length -1)%><h3><% Response.Write(ElemTitle.item(i).Text) %></h3><p><% Response.Write(ElemDescription.item(i).Text) %></p><p><% Response.Write(ElemPrereqs.item(i).Text) %></p><%nextSet objxml = Nothing%></body></html>

I have gotten everything to work, except I can't seem to get the form to put the test.asp in the lightbox. Help please!!

Link to comment
Share on other sites

You won't be able to submit the form directly to the lightbox. It can load external files via ajax, so the best you can do is submit your form via ajax, get the response that the form was submitted successfully, and manually open the lightbox and point it to an external file that can show the submission results.

Link to comment
Share on other sites

You would need to save the XML data somewhere, like the session or a database or a file. The session is temporary, the database and file would require periodic cleanup to remove old entries unless you saved the files in the server's temp directory. But you just need to save it somewhere and have the next ajax request to load the results indicate which result set to show. If it's stored in the session only then you wouldn't need to indicate which one, there would only be one. If the data in the form is small enough then you can also just gather the form data and send the ajax request with the form data instead of submitting the form normally.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...