Solved

Forms Problems!!

Posted on 2002-04-27
13
185 Views
Last Modified: 2010-04-01
I don't know if this is the right place to post this or not!!
anyway here is the situation..
I have a form with 2 submit buttons (Preview & Finished)..the form should display a number of questions (for students to answer) that are obtained from the database(I used PHP and Mysql) and for that it contains a lot of input types(radio,checkbox,text)..
Preview is for previewing answers.
Finished is for storing results and here I used javascript to display a confirmation message to see if  he/she really wants to end the test if he/she clicked on OK his/her answers should be stored.. but non of the values is recognized at that part of code!!I tried to do this without the confirmation message and it worked!!
I don't know if this is a javascript problem or not?? and if so how can I fix it??

Thanks.
0
Comment
Question by:lina2401
  • 4
  • 4
  • 3
  • +2
13 Comments
 
LVL 33

Expert Comment

by:hongjun
Comment Utility
How you go about doing the confirmation? Below is just an example.

<script language="Javascript">
<!--
function FinishClick()
{
        // ok pressed
     if ( confirm("Are you sure you want to submit?") )
          document.frmMain.submit();
}
//-->
</script>

<form name="frmMain" action="second_page.jsp" method="post">
...
<input type="button" value="Finish" onclick="FinishClick();">
</form>


hongjun
0
 

Author Comment

by:lina2401
Comment Utility
this is what I did.
<script language="Javascript">
<!--
function ConfirmChoice2()
{
answer = confirm("Are you sure you want to end this test?")
if (answer==1)
{
location = "student_test.php?action=Finished"
}
}
//-->
</script>
<form action="student_test.php" method="post">
...
<input type="submit" name="action" value="Preview">
<input type="submit" name="action" value="Finished" onclick=" ConfirmChoice2(); return false;">
</form>

student_test.php
if ($action==Finished)
....
elseif ($action==Preview)
....
else
....

I'm not familiar with jsp!!so any help would be appreciated.

0
 
LVL 12

Accepted Solution

by:
ahosang earned 25 total points
Comment Utility
I don't know why you say JSP. This is nothing to do with JSP. JSP is a Java server-side technology
Try this:
<html>
<head>
<title></title>
<script>
function check(s) {
  if (s=="Preview") {
    document.forms[0].act.value="S1";
    document.forms[0].submit();
  } else if (s=="Finish") {
    if (confirm("Are you sure you want to end this test?")) {
      document.forms[0].act.value="S2";
      document.forms[0].submit();
    }
  }
}
</script>

</head>

<body>
Test Page
<form>
<input type="text" name="t1"><br><br>
<input type="button" name="b" value="S1" onclick="check('Preview')"><br>
<input type="button" name="b1" value="S2" onclick="check('Finish')">
<input type="hidden" name="act" value="">
</form>

</body>
</html>
0
 
LVL 33

Expert Comment

by:hongjun
Comment Utility
Try this


<script language="JavaScript">
<!--
function PreviewPage()
{
     document.frmMain.type = "preview";
     document.frmMain.submit();
}

function ConfirmChoice2()
{
     if (confirm("Are you sure you want to end this test?"))
     {
          document.frmMain.type = "finish";
          document.frmMain.submit();
     }
}
//-->
</script>
<form name="frmMain" action="student_test.php" method="post">
...
<input type="button" value="Preview" onClick="PreviewPage();">
<input type="button" value="Finished" onClick="ConfirmChoice2();">
<input type="hidden" name="type">
</form>



A hidden field named type will be posted to student_test.php. Check the value of this value to determine is it a preview or a finish request.



hongjun
0
 

Author Comment

by:lina2401
Comment Utility
I tired that and I got an error message in these lines:
-document.frmMain.type = "preview";
-document.frmMain.type = "finish";
"Object doesn't support this property or method"
isn't because I use "get" instead of "post"??

-thanks
0
 

Author Comment

by:lina2401
Comment Utility
This question was posted in the wrong place...so I moved it to the javascript section..
0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 12

Expert Comment

by:ahosang
Comment Utility
Did you try my suggestion?
0
 

Author Comment

by:lina2401
Comment Utility
yep and I got the same error msg!!
0
 
LVL 12

Expert Comment

by:ahosang
Comment Utility
Impossible to get exactly the same error message!!
My code works as a standalone page. If you incorporating it into your own page and get an error, post the code or the error message(preferably the code).
0
 
LVL 33

Expert Comment

by:hongjun
Comment Utility
lina, I suggest you continue to work on this question instead of moving to javascript TA. This can be unfair to those experts who have put in effort on this question.

hongjun
0
 

Expert Comment

by:sushifish
Comment Utility
Possible error:

don't use

location=("student_test.php?action=Finished");

but replace the above code with following code:

document.form_name.action.value="Finish";
document.form_name.submit();

and please insert this into your <form> HTML tag

<form action="student_test.php" method="post" name="form_name">

<input type="hidden" name="action">
</form>

hope this helps.

0
 
LVL 33

Expert Comment

by:hongjun
Comment Utility
Why a delete!!!

hongjun
0
 
LVL 5

Expert Comment

by:Netminder
Comment Utility
Force-accepted by
Netminder
CS Moderator

hongjun: points for you at http://www.experts-exchange.com/jsp/qShow.jsp?ta=jsp&qid=20304611
0

Featured Post

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

HOW TO: Upload an ISO image to a VMware datastore for use with VMware vSphere Hypervisor 6.5 (ESXi 6.5) using the vSphere Host Client, and checking its MD5 checksum signature is correct.  It's a good idea to compare checksums, because many installat…
Find out what Office 365 Transport Rules are, how they work and their limitations managing Office 365 signatures.
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

728 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

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now