• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 3031
  • Last Modified:

Submit an ASP.NET form in JQuery Facebox

I am pulling my hair out trying to find a way of normally submitting an ASP.NET form that is a JQuery FaceBox window and retreiving the information! Sounds like it should be simple but it isn't. I can put the form in the FaceBox window but once the form has been submitted I can't retreive the data.

Does anyone know a way to do this?

If nobody knows any way then is there any lightbox windows that support ASP.NET forms.
0
JimDestruct
Asked:
JimDestruct
  • 2
  • 2
1 Solution
 
sh0eCommented:
Can you post a demo?
Is the form being inserted into the DOM?

There is also one other thing, if you are using ASP.NET master pages, the id is generated by prepending names onto the id.  You will need to make use of Control.ClientID in your .aspx.cs code.
0
 
JimDestructAuthor Commented:
Hiya, I have posted my current script below. Its not using a masterpage at the moment, it is just a single page I was using to try and get it to work properly. The form seems to submit with a LinkButton but I am unable to retreive the form values. If I however change the LinkButton to a Button then it doesnt submit at all!
    <form id="form1" runat="server">
    <div>
    
    <asp:HyperLink ID="HyperLink1" NavigateUrl="#showform" 
    runat="server" rel="facebox">Click Here</asp:HyperLink>
    
    <asp:Panel ID="Form" runat="server">
    
    
    <div id="showform" style="display:none;">
      
    <p><label>Name</label>
    <asp:TextBox ID="Name" runat="server"></asp:TextBox></p>
    
    <p><label>Company</label>
    <asp:TextBox ID="Company" runat="server"></asp:TextBox></p>
    
    <p><label>Phone</label>
    <asp:TextBox ID="Telephone" runat="server"></asp:TextBox></p>
    
    <p><label>Email</label>
    <asp:TextBox ID="Email" runat="server"></asp:TextBox></p>
    
    <p><asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">Submit</asp:LinkButton>
    </p>
   
    </div>
    </asp:Panel>
    
    <asp:Panel ID="Thanks" runat="server" Visible="false"> 
    <asp:Literal ID="ThankYou" runat="server" />
    </asp:Panel>
    
    </div>
    </form>
 
 
 
 
 
public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
 
    }
 
    protected void LinkButton1_Click(object sender, EventArgs e)
    {
        char d = '"';
        string BuildList = "<script type=" + d + "text/javascript" + d + " language=" + d + "javascript" + d + ">";
        BuildList = BuildList + "jQuery.facebox('hello " + Name.Text + "')";
        BuildList = BuildList + "</script>";
        Thanks.Visible = true;
        ThankYou.Text = BuildList;
    }
}

Open in new window

0
 
sh0eCommented:
The form has to be inserted into the facebox.  Right now all it is inserting is the inputs.

    <div>
    
    <asp:HyperLink ID="HyperLink1" NavigateUrl="#showform" 
    runat="server" rel="facebox">Click Here</asp:HyperLink>
    
    <asp:Panel ID="Form" runat="server">
    
    
    <div id="showform" style="display:none;">
          <form id="form1" runat="server">
    <p><label>Name</label>
    <asp:TextBox ID="Name" runat="server"></asp:TextBox></p>
    
    <p><label>Company</label>
    <asp:TextBox ID="Company" runat="server"></asp:TextBox></p>
    
    <p><label>Phone</label>
    <asp:TextBox ID="Telephone" runat="server"></asp:TextBox></p>
    
    <p><label>Email</label>
    <asp:TextBox ID="Email" runat="server"></asp:TextBox></p>
    
    <p><asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">Submit</asp:LinkButton>
    </p>
   
    </div>
    </asp:Panel>
    
    <asp:Panel ID="Thanks" runat="server" Visible="false"> 
    <asp:Literal ID="ThankYou" runat="server" />
    </asp:Panel>
    
    </form>
    </div>
 
 
 
 
 
public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
 
    }
 
    protected void LinkButton1_Click(object sender, EventArgs e)
    {
        char d = '"';
        string BuildList = "<script type=" + d + "text/javascript" + d + " language=" + d + "javascript" + d + ">";
        BuildList = BuildList + "jQuery.facebox('hello " + Name.Text + "')";
        BuildList = BuildList + "</script>";
        Thanks.Visible = true;
        ThankYou.Text = BuildList;
    }
}

Open in new window

0
 
JimDestructAuthor Commented:
Nice one! I can stop tearing my hair out now :D
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now