We use the standard Contact form that ASPDNSF provides, but we also have a "support" form that asks more questions about versions, etc. 

In 8.x, we took a copy of sendform.aspx (.cs) and modified it a bit.  worked fine for years.   And we have a Topic that uses <FORM action=sendform-crm.aspx>.

just upgraded to 9.4.2, and the old sendform-crm.aspx isn't working.  No errors (in the browser or the cart's error log), Submit just refreshes the page.

I've now discovered that when I look at the DOM for the page (in both IE and Chrome developer tools) that the line:

<FORM id=Form1 method=post action=sendform-crm.aspx>

is gone!   (It's there if I View Source)   All the <Input> fields are there and the page looks ok... just no <FORM>

Am I out to lunch here, or is one of your scripts stripping out my FORM?

( I've searched doc and forum looking for a recommended way to do custom input forms, and found nothing.  if there is a better / documented way to do this... just point me at that.)

in MultiStore by (250 points)

2 Answers

0 votes
This is one of the differences between the version 8 software and the true master pages based version  9 software. Master pages only allows a single form in the template, so all others will need to be a control or other 3rd party solution.

This may provide some insight:

http://stackoverflow.com/questions/178396/form-elements-in-asp-net-master-pages-and-content-pages
by (4.3k points)
0 votes
Not sure what you used to view the source but given the inforamtion this sounds like a form within a form issue. Which depending on your skin and topic setup is a somewhat easy fix/modifcation.

The main thing that will be a limiting factor are controls that require the runat="sever" form tag. Do note that you can have more than one form tag in a master page but only one form tag can have runat="sever" attribute.

1. move the form tag to only include inputs and controls that need the runat="server" form.

2. A a 2nd ContentPlaceHolder for example <asp:ContentPlaceHolder ID="PageContent2" runat="server"></asp:ContentPlaceHolder>

3. open driver.aspx edit the ContentPlaceHolderID from PageContent to PageContent2 (or whatever you named place holder ID). Then save page.

4. Test the form for issues
by (5k points)
...