$(function(){ //提交作业 var bt=baidu.template; bt.LEFT_DELIMITER=''; var tested = false; var valid_form = function() { var src = $('#program-src').val(); var title = $('#program-title').val(); if (!src) { alert('请输入正确的代码'); return false; } if (!title) { alert('请输入标题'); return false; } return true; }; var test_program = function(cb){ var homework_id = $('#test-program-btn').attr('data-homework-id'); var student_work_id = $('#test-program-btn').attr('data-student-work-id'); var src = $('#program-src').val(); var title = $('#program-title').val(); var is_test = $('input[name=is_test]').val(); if(!valid_form()){ return; } $.post( '/student_work/program_test', {homework: homework_id, student_work_id: student_work_id, src: src, title: title, is_test: is_test}, function(data,status){ tested = true; console.log(data); if(data.index <=0){ data.index = $('.ProResultTop').length+1; } if (typeof cb == 'function') {cb(data); return;} var html=bt('t:result-list',data); $('.ProResult').prepend(html); if (data.status==0 && is_test != 'true') { var r=confirm("答题正确,是否立刻提交?"); if (r) { $(".HomeWorkCon form").submit(); } } } ); }; $('#test-program-btn').on('click', test_program); $('#commit-program-work-btn').on('click', function(){ if(!valid_form()){ return; } if($('.ProResult .ProResultTop').length<=0){ var r=confirm("测试后才能提交,是否立刻测试?"); if (r) { test_program(); } return; } if (!tested) { test_program(function(data){ if (data.status!=0) { var r=confirm("测试不通过,是否强制提交?"); if (!r) { return; } }; $(".HomeWorkCon form").submit(); }); return; } $(".HomeWorkCon form").submit(); }); $('form.edit_student_work').on('keydown', '#program-src', function(){ tested = false; }); //发布作业 $('#program-src').focus(function(){ $(this).css('height', '100px'); }); var datepickerOptions={dateFormat:'yy-mm-dd',firstDay:0,showWeek:true,showOtherMonths:true,selectOtherMonths:true}; $('input.date-input').datepicker(datepickerOptions); $('a.pic_date').on('click', function(){ $(this).parent().prev().first().focus(); }) $("#NoticePopupBox").dialog({ modal: true, autoOpen: false, dialogClass: 'BluePopupBox', minWidth: 500 }); $('#NoticePopupBox').parent().resizable("disable"); $('#NoticePopupBox').parent().removeClass("ui-state-disabled"); $('#NoticePopupBox').parent().css("border","3px solid #269ac9").css("padding","10px"); $('a#switch_type').live('click', function(){ if($("input[name=homework_type]").val() == "3"){ $("#NoticePopupBox" ).dialog("close"); $("input[name=homework_type]").val(1); $('span.group_detail_info').text(''); $("#group_setting a").removeClass("fontBlue2"); $("#BluePopupBox").dialog("open"); $(".ui-dialog-titlebar").hide(); $("a.CloseBtn").on('click', function(){ $("#BluePopupBox" ).dialog("close"); }); $('#textarea_input_test').focus(); } else if($("input[name=homework_type]").val() == "2") { $("#NoticePopupBox" ).dialog("close"); $("input[name=homework_type]").val(1); $('span.program_detail_info').text(""); $("span.program_detail_info").removeClass("fontBlue2"); $("#program_setting a").removeClass("fontBlue2"); $("#GroupPopupBox").dialog("open"); $(".ui-dialog-titlebar").hide(); $("a.popClose").on('click', function(){ $("#GroupPopupBox" ).dialog("close"); }); $("#cancel_group").on('click', function(){ $("#GroupPopupBox" ).dialog("close"); }); $('#min_num').focus(); } }); $("#BluePopupBox").dialog({ modal: true, autoOpen: false, dialogClass: 'BluePopupBox', minWidth: 753 }); $('#BluePopupBox').parent().resizable("disable"); $('#BluePopupBox').parent().removeClass("ui-state-disabled"); $('#BluePopupBox').parent().css("border","3px solid #269ac9").css("padding","10px"); $('#BluePopupBox').parent().css("position","fixed"); $('a.ProBtn').live('click', function(){ if($("input[name=homework_type]").val() == "3"){ $("#NoticePopupBox").dialog("open"); $(".ui-dialog-titlebar").hide(); $("a.CloseBtn").on('click', function(){ $("#NoticePopupBox" ).dialog("close"); }); $("#cancel_switch").on('click', function(){ $("#NoticePopupBox" ).dialog("close"); }); $("#switch_homework_type_notice").text("您的作业类型将改为“分组作业”,并且您的编程设置将被清除。请问是否继续?"); } else { $("#BluePopupBox").dialog("open"); $(".ui-dialog-titlebar").hide(); $("a.CloseBtn").on('click', function(){ $("#BluePopupBox" ).dialog("close"); }); $('#textarea_input_test').focus(); } }); var saveProgramAnswers = function() { var test_numbers = 0; var valid = true; var input = null; var output = null; var input_groups = []; $.each($('#BluePopupBox textarea.InputBox'), function(i, val){ if ($(val).val().length<=0) { $(val)[0].focus(); valid =false; return false; } if (test_numbers %2==0) { input = $(val).val(); } else { output = $(val).val(); input_groups.push({input: input, output: output}); } test_numbers += 1; }); var language = ''; if($('select.language_type').val() == 1){ language = 'C'; }else if($('select.language_type').val() == 2){ language = 'C++'; }else if($('select.language_type').val() == 3){ language = 'Python'; }else if($('select.language_type').val() == 4){ language = 'Java'; } if (valid) { $("input[name=homework_type]").val(2); $('span.program_detail_info').text('('+language+'语言,'+test_numbers/2+'组测试)'); $("span.program_detail_info").addClass("fontBlue2"); $("#program_setting a").addClass("fontBlue2"); //保存js值 var data = { language_type: $('select.language_type').val(), input_groups: input_groups }; //构建到form中 $('.program-input').remove(); var html=bt('t:program-input-list',data); $("input[name=homework_type]").after(html); } return valid; }; $("#BluePopupBox a.BlueCirBtn").live('click', function(){ if(saveProgramAnswers()){ if($( "#BluePopupBox" ).dialog( "isOpen" )){ $("#BluePopupBox").dialog( "close" ); } } }); $("#BluePopupBox").on('click', 'a.icon_add', function(){ var html = bt('t:test-answer-list', null); $(this).parent('.mt10').after(html); var inputs = document.getElementsByName("program[input][]"); var outputs = document.getElementsByName("program[output][]"); if (inputs.length == outputs.length) { for (var i=0; i