• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 233
  • Last Modified:

Forms Problems!!

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
lina2401
Asked:
lina2401
  • 4
  • 4
  • 3
  • +2
1 Solution
 
hongjunCommented:
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
 
lina2401Author Commented:
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
 
ahosangCommented:
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
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
hongjunCommented:
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
 
lina2401Author Commented:
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
 
lina2401Author Commented:
This question was posted in the wrong place...so I moved it to the javascript section..
0
 
ahosangCommented:
Did you try my suggestion?
0
 
lina2401Author Commented:
yep and I got the same error msg!!
0
 
ahosangCommented:
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
 
hongjunCommented:
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
 
sushifishCommented:
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
 
hongjunCommented:
Why a delete!!!

hongjun
0
 
NetminderCommented:
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

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

  • 4
  • 4
  • 3
  • +2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now