?
Solved

Multi-section form processing

Posted on 1998-04-18
7
Medium Priority
?
232 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
7 Comments
 
LVL 5

Accepted Solution

by:
julio011597 earned 450 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
Get real performance insights from real users

Key features:
- Total Pages Views and Load times
- Top Pages Viewed and Load Times
- Real Time Site Page Build Performance
- Users’ Browser and Platform Performance
- Geographic User Breakdown
- And more

 

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

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

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

This tutorial will discuss fancy secure registration forms, with AJAX technology support. In this article I assume you already know HTML and some JS. I will write the code using WhizBase Server Pages, so you need to know some basics in WBSP (you mig…
I hope you'll find this tutorial useful and interesting. So let's try to extend Tcl with a new package.  For anyone more deeply interested please check out the book "Practical Programming in Tcl and Tk". It's really one of the best written books abo…
Learn the basics of lists in Python. Lists, as their name suggests, are a means for ordering and storing values. : Lists are declared using brackets; for example: t = [1, 2, 3]: Lists may contain a mix of data types; for example: t = ['string', 1, T…
Learn the basics of if, else, and elif statements in Python 2.7. Use "if" statements to test a specified condition.: The structure of an if statement is as follows: (CODE) Use "else" statements to allow the execution of an alternative, if the …
Suggested Courses

770 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