Solved

Multi-section form processing

Posted on 1998-04-18
7
230 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 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
Get Actionable Data from Your Monitoring Solution

Your communication platform is only as good as the relevance of the information you send. Ensure your alerts get to the right people every time with actionable responses. Create escalation rules that ensure everyone follows the process and nothing is left to chance.

 

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

Increase Agility with Enabled Toolchains

Connect your existing build, deployment, management, monitoring, and collaboration platforms. From Puppet to Chef, HipChat to Slack, ServiceNow to JIRA, Splunk to New Relic and beyond, hand off data between systems to engage the right people.

Connect with xMatters.

Question has a verified solution.

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

Making a simple AJAX shopping cart Couple years ago I made my first shopping cart, I used iframe and JavaScript, it was very good at that time, there were no sessions or AJAX, I used cookies on clients machine. Today we have more advanced techno…
Recently I have been answering a lot of questions like this in IT forums that I frequent. The question posed is usually something along the lines of "We have software X installed and need to uninstall it for reason Y" or some other variant of the sa…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

690 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