--- loncom/homework/structuretags.pm 2014/05/15 20:17:17 1.518 +++ loncom/homework/structuretags.pm 2014/11/21 18:04:57 1.523 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: structuretags.pm,v 1.518 2014/05/15 20:17:17 raeburn Exp $ +# $Id: structuretags.pm,v 1.523 2014/11/21 18:04:57 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -254,6 +254,55 @@ function image_response_click (which, e) input_element.value = click; img_element.src = '/adm/randomlabel.png?token='+token+'&clickdata='+click; } + +var submithandled = 0; +var keypresshandled = 0; + +$(document).ready(function(){ + + $(document).keypress(function(event){ + var keycode = (event.keyCode ? event.keyCode : event.which); + if ((keycode == '13') && (keypresshandled == 0)) { + if ( $( document.activeElement ).hasClass("LC_textline") ) { + keypresshandled = 1; + var idsArray = $( document.activeElement ).attr("id").split(/HWVAL_/); + if (idsArray.length) { + event.preventDefault(); + var itemsArray = idsArray[1].split(/_/); + var buttonId = idsArray[0]+'submit_'+itemsArray[0]; + $("#"+buttonId).trigger("click"); + } + } + } + }); + + $(document).delegate('form :submit', 'click', function( event ) { + if ( $( this ).hasClass( "LC_hwk_submit" ) ) { + var buttonId = this.id; + if (submithandled == 0) { + submithandled = 1; + $( "#msg_"+buttonId ).css({"display": "inline","background-color": "#87cefa", + "color": "black","padding": "2px"}) ; + if (( $(this.form).id == "LC_page" ) && ($('input[name="all_submit"]').length )) { + if (buttonId != "all_submit") { + $( ".LC_status_"+buttonId ).hide(); + if (( "#"+buttonId+"_pressed" ).length) { + $( "#"+buttonId+"_pressed" ).val( "1" ); + } + } + } else { + $( ".LC_status_"+buttonId ).hide(); + } + $(this.form).submit(); + $( ".LC_hwk_submit" ).prop( "disabled", true); + $( ".LC_textline" ).prop( "readonly", "readonly"); + event.preventDefault(); + return true; + } + } + }); +}); + // ]]> JS @@ -848,9 +897,9 @@ sub initialize_storage { =item finalize_storage() - Stores away the result has to a student's environment - checks form.grade_ for specific values, other wises stores - to the running users environment + Stores away the result hash to a student's environment + checks form.grade_ for specific values, otherwise stores + to the running user's environment. Will increment totals for attempts, students, and corrects if running user has student role. @@ -1170,7 +1219,7 @@ sub start_problem { $target eq 'tex') { if ($env{'form.markaccess'}) { my @interval=&Apache::lonnet::EXT("resource.0.interval"); - &Apache::lonnet::set_first_access($interval[1]); + &Apache::lonnet::set_first_access($interval[1],$interval[0]); } ($status,$accessmsg,$slot_name,$slot) =