Solved

Multi-section form processing

Posted on 1998-04-18
7
221 Views
Last Modified: 2013-12-25
I am creating a web survey that will display questions a few at a time, changing the few questions based on previous answers. Once all relevent questions have been answered I need to e-mail the results. Is CGI the way to do it?

Jeff
0
Comment
Question by:jkelly061597
  • 4
  • 3
7 Comments
 
LVL 5

Accepted Solution

by:
julio011597 earned 150 total points
ID: 1827537
Yes, it could be.

Javascript is another option: you can handle forms and parameters' passing with it; the resulting mail cannot be reachly formatted anyway - yet it would be readable enough.
0
 

Author Comment

by:jkelly061597
ID: 1827538
Could you give me a quick JS example?
0
 
LVL 5

Expert Comment

by:julio011597
ID: 1827539
Ok, but please give me another 24 hours: i have a little dead-end for tomorrow.
0
Space-Age Communications Transitions to DevOps

ViaSat, a global provider of satellite and wireless communications, securely connects businesses, governments, and organizations to the Internet. Learn how ViaSat’s Network Solutions Engineer, drove the transition from a traditional network support to a DevOps-centric model.

 

Author Comment

by:jkelly061597
ID: 1827540
No problem...
0
 
LVL 5

Expert Comment

by:julio011597
ID: 1827541
Hello back,

i'm sorry to admit i didn't take into account that there are a couple of problems with submitting mail forms: a form with a "mailto:" action does popup a confirm dialog, AND - once the mail has been sent - there's no easy way to automatically redirect the user to a "tank you" page.

You could get rid of the confirm popup, in NN4 only, by signing your script; if you are interested in this, i could give you the additional code needed, but i cannot help on the script signing itself, since i've never done it.

This all is NOT a problem with CGI, and i won't submit an answer unless you explicitely ask, because i myself would not consider this as a *professional* implementation of a mail send - so it seems i just solved to parameter passing task.

This said, you'll find here a couple of sample Html files... any question is welcome.
You might want to maximize the browser window before the cut-and-paste work.

Regards.


--/ [step0.htm] /--
<HTML>
  <HEAD>
    <TITLE>Step 0</TITLE>
    <SCRIPT LANGUAGE="Javascript"><!--
      function toSubmit(aForm) {
        if(!aForm.r0[0].checked && !aForm.r0[1].checked) {
          self.alert("Need a choice");
          return false;
        }
        return true;
      }
    // --></SCRIPT>
  </HEAD>
  <BODY>
    <FORM ACTION="step1.htm" METHOD="GET"
        onSubmit="return toSubmit(this)">
      <INPUT TYPE="radio" NAME="r0" VALUE="0">Radio r0[0]<BR>
      <INPUT TYPE="radio" NAME="r0" VALUE="1">Radio r0[1]<BR>
      <INPUT TYPE="submit" VALUE="Next">
    </FORM>
  </BODY>
</HTML>
--//--

--/ [step1.htm] /--
<HTML>
  <HEAD>
    <TITLE>Step 1</TITLE>
    <SCRIPT LANGUAGE="Javascript"><!--
      var theR0 = getQueryVal("r0", "0"); // theR is a String

      function getQueryVal(aKey, defaultVal) {
        var srch = self.location.search;
        var idxK = srch.indexOf(aKey + "=", 1);

        if(idxK == -1 ||
            (srch[idxK-1] != "?" &&
            srch[idxK-1] != "&"))  // no key
          return defaultVal;

        var idxVS = idxK + aKey.length + 1;
        if(idxVS == srch.length)  // no value
          return defaultVal;

        var idxVE = srch.indexOf("&", idxVS);
        return srch.substring(idxVS, idxVE==-1 ? srch.length : idxVE)
      }

      function toSubmit(aForm) {
        if(!aForm.r1[0].checked && !aForm.r1[1].checked) {
          self.alert("Need a choice");
          return false;
        }
        return true;
      }
    // --></SCRIPT>
  </HEAD>
  <BODY>
    <FORM ACTION="mailto:julio?subject=Web Survey" ENCTYPE="text/plain"
        onSubmit="return toSubmit(this)">
      <SCRIPT LANGUAGE="Javascript"><!--
        document.writeln("<INPUT TYPE=\"hidden\" " +
          "NAME=\"r0\" VALUE=\"" + theR0 + "\">");
        if(theR0 == "1") {
          document.writeln("<INPUT TYPE=\"radio\" " +
            "NAME=\"r1\" VALUE=\"0\">Radio (1-\>) r1[0]<BR>");
          document.writeln("<INPUT TYPE=\"radio\" " +
            "NAME=\"r1\" VALUE=\"1\">Radio (1-\>) r1[1]<BR>");
        }
        else { // default value
          document.writeln("<INPUT TYPE=\"radio\" " +
            "NAME=\"r1\" VALUE=\"0\">Radio (0->) r1[0]<BR>");
          document.writeln("<INPUT TYPE=\"radio\" " +
            "NAME=\"r1\" VALUE=\"1\">Radio (0->) r1[1]<BR>");
        }
      // --></SCRIPT>
      <INPUT TYPE="submit" VALUE="Next">
    </FORM>
  </BODY>
</HTML>
--//--
0
 
LVL 5

Expert Comment

by:julio011597
ID: 1827542
Oops! sorry, i had already locked this question... time to bed :)
0
 

Author Comment

by:jkelly061597
ID: 1827543
Thanks, I'll play around with it...
0

Featured Post

Active Directory Webinar

We all know we need to protect and secure our privileges, but where to start? Join Experts Exchange and ManageEngine on Tuesday, April 11, 2017 10:00 AM PDT to learn how to track and secure privileged users in Active Directory.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

It is becoming increasingly popular to have a front-page slider on a web site. Nearly every TV website,  magazine or online news has one on their site, and even some e-commerce sites have one. Today you can use sliders with Joomla, WordPress or …
In this tutorial I will show you how to make a simple HTML bar chart with the usage of WhizBase, If you want more information about WhizBase please read my previous articles at http://www.experts-exchange.com/ARTH_5123186.html (http://www.experts-ex…
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

821 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question