views:

385

answers:

1

I am loading an external file 'contact_us.aspx' into a jquery dialog box. the external page contains a form.

When the submit button is pressed it closes the dialog box and changes the page to contact_us.aspx. is my code correct or is there a different way of doing this. see my code below, thanks.

This JS is in y masterpage:

<script type="text/javascript">
     $(document).ready(function() {
         var dialogOpts = {
             modal: true,
             bgiframe: true,
             autoOpen: false,
             height: 500,
             width: 500,
             open: function(type, data) {
                 $(this).parent().appendTo(jQuery("form:first"));
             }
         }

         $("#genericContact").dialog(dialogOpts);   //end dialog

         $('a.conactGeneric').click(
              function() {
                  $("#genericContact").load("contact_us.aspx", [], function() {
                      $("#genericContact").dialog("open");
                  }
                 );
                  return false;
              }
           );

     });
    </script>

The external file 'contact_us.aspx' which is loaded into the dialog box, when the link is clicked.

            <asp:Panel ID="pnlEnquiry" runat="server" DefaultButton="btn_Contact">
                <asp:Label ID="lblError" CssClass="error" runat="server" Visible="false" Text=""></asp:Label>

                <div class="contact_element">
                    <label for="txtName">Your Name <span>*</span></label>
                    <asp:TextBox CssClass="contact_field" ID="txtName" runat="server"></asp:TextBox>
                    <asp:RequiredFieldValidator CssClass="contact_error" ControlToValidate="txtName" Display="Dynamic" ValidationGroup="valContact" ID="RequiredFieldValidator1" runat="server" ErrorMessage="Enter your name"></asp:RequiredFieldValidator>
                </div>

                <div class="contact_element">
                    <label for="txtName">Phone Number</label>
                    <asp:TextBox CssClass="contact_field" ID="txtTel" runat="server"></asp:TextBox>
                    <asp:RequiredFieldValidator CssClass="contact_error" ControlToValidate="txtTel" Display="Dynamic" ValidationGroup="valContact" ID="RequiredFieldValidator2" runat="server" ErrorMessage="Enter your phone number"></asp:RequiredFieldValidator>
                </div>

                <div class="contact_element">
                    <label for="txtEmail">Your Email <span>*</span></label>
                    <asp:TextBox CssClass="contact_field" ID="txtEmail" runat="server"></asp:TextBox>
                    <asp:RequiredFieldValidator CssClass="contact_error" ControlToValidate="txtEmail" Display="Dynamic" ValidationGroup="valContact" ID="RequiredFieldValidator3" runat="server" ErrorMessage="Enter your email address"></asp:RequiredFieldValidator>
                </div>

                <div class="contact_element">
                    <label for="txtQuestion">Question <span>*</span></label>
                    <asp:TextBox TextMode="MultiLine" CssClass="contact_question" ID="txtQuestion" runat="server"></asp:TextBox>
                    <asp:RequiredFieldValidator CssClass="contact_error" ControlToValidate="txtQuestion" Display="Dynamic" ValidationGroup="valContact" ID="RequiredFieldValidator4" runat="server" ErrorMessage="Enter your question"></asp:RequiredFieldValidator>
                </div>

                <div class="contact_chkbox">
                    <asp:CheckBox ID="chkNews" runat="server" Checked="true" Text="Receive our monthly newsletter" EnableTheming="false" />
                </div>
                    <span class="mandatory">* Required Field</span>
                    <asp:LinkButton ID="btn_Contact" ToolTip="Submit" CssClass="submit_btn" ValidationGroup="valContact" runat="server" OnClick="SignUp" ></asp:LinkButton>

                <asp:RegularExpressionValidator CssClass="contact_error" ID="RegularExpressionValidator1" runat="server" ValidationExpression=".*@.{2,}\..{2,}" Display="Dynamic" ValidationGroup="valContact" ControlToValidate="txtEmail" ErrorMessage="Invalid email format."></asp:RegularExpressionValidator>
                <asp:ValidationSummary ID="ValidationSummary1" ValidationGroup="valContact" ShowMessageBox=true ShowSummary=false runat="server" />

            </asp:Panel>

            <asp:Panel ID="pnlThanks" runat="server" Visible="false">
                <h1>Thank you!</h1>
            </asp:Panel>

code behind file:

  protected void SignUp(object sender, EventArgs e)
    {
        SmtpMail.SmtpServer = "localhost";

        MailMessage myMail = new MailMessage();

        //String myToEmail = MyDB.getScalar("select setting_value from [Website.Settings]"); ;

        //myMail.To = myToEmail;
        myMail.To = "[email protected]";
        myMail.From = "[email protected]";
        //myMail.Bcc = "[email protected]";
        myMail.Subject = "Enquiry from the Naturetrek Site";

        StringBuilder myContent = new StringBuilder();
        myContent.Append("Name : " + txtName.Text + "\r\n");
        myContent.Append("Email: " + txtEmail.Text + "\r\n");
        myContent.Append("Telephone: " + txtTel.Text + "\r\n");
        myContent.Append("\r\nTheir Question: \r\n" + txtQuestion.Text + "\r\n");

        if (chkNews.Checked != true)
        {
            myContent.Append("Subscribed to newsletter: No");
        }

        else
        {
            myContent.Append("Subscribed to newsletter: Yes");
        }

        myContent.Append("\r\n");

        myMail.Body = myContent.ToString();

        SmtpMail.Send(myMail);

        pnlEnquiry.Visible = false;
        pnlThanks.Visible = true;
}
A: 

fixed. silly me.

//pnlEnquiry.Visible = false; //pnlThanks.Visible = true; Response.Redirect("~/default.aspx");

Mark