--- loncom/homework/caparesponse/caparesponse.pm 2001/01/12 01:07:38 1.26 +++ loncom/homework/caparesponse/caparesponse.pm 2001/03/21 18:25:14 1.29 @@ -19,7 +19,7 @@ sub end_caparesponse { my ($target,$token,$parstack,$parser,$safeeval,$style)=@_; my $result = ''; if ( $target eq 'grade' ) { - if ( defined $ENV{'form.submit'}) { + if ( defined $ENV{'form.submitted'}) { $safeeval->share_from('capa',['&caparesponse_capa_check_answer']); my $response = $ENV{'form.HWVAL'.$Apache::inputtags::response['-1']}; if ( $response =~ /[^\s]/) { @@ -62,7 +62,7 @@ sub end_numericalresponse { my ($target,$token,$parstack,$parser,$safeeval,$style)=@_; my $result = ''; if ( $target eq 'grade' ) { - if ( defined $ENV{'form.submit'}) { + if ( defined $ENV{'form.submitted'}) { $safeeval->share_from('capa',['&caparesponse_capa_check_answer']); my $response = $ENV{'form.HWVAL'.$Apache::inputtags::response['-1']}; if ( $response =~ /[^\s]/) { @@ -74,6 +74,9 @@ sub end_numericalresponse { $Apache::lonhomework::results{"resource.$Apache::inputtags::part.$id.submission"}=$response; &Apache::lonxml::debug("submitted a $response
\n"); &Apache::lonxml::debug($$parstack[$#$parstack] . "\n
"); + $response =~ s/\\/\\\\/g; + $response =~ s/\'/\\\'/g; + &Apache::lonxml::debug("current $response"); my $expression="&caparesponse_check_list('".$response."','". $$parstack[$#$parstack]. ';my $tol="'.$Apache::inputtags::params{'tol'}.'"'. @@ -91,7 +94,8 @@ sub end_numericalresponse { } } elsif ($target eq 'web') { my $award = $Apache::lonhomework::history{"resource.$Apache::inputtags::part.solved"}; - if ($award =~ /^correct/) { + my $status = $Apache::inputtags::status['-1']; + if ($award =~ /^correct/ || $status eq "SHOW_ANSWER" ) { my $answervar=&Apache::run::run("{$$parstack['-1'];".'return $answer}',$safeeval); my (@answers)=&Apache::run::run("$answervar",$safeeval); my $unit=&Apache::run::run("{$$parstack['-1'];".'return $unit}',$safeeval);