diff --git a/modules/problem.js b/modules/problem.js index e558ba5..1aaa45d 100644 --- a/modules/problem.js +++ b/modules/problem.js @@ -499,6 +499,9 @@ app.post('/problem/:id/manage', app.multer.fields([{ name: 'testdata', maxCount: problem.file_io_output_name = req.body.file_io_output_name; if (req.body.type === 'interaction') { + if (!problem.file_io) { + throw new ErrorMessage('交互题目必须使用文件 IO。'); + } throw new ErrorMessage('暂不支持该题目类型。'); } diff --git a/views/problem_manage.ejs b/views/problem_manage.ejs index 2de676c..9be6ea0 100644 --- a/views/problem_manage.ejs +++ b/views/problem_manage.ejs @@ -55,7 +55,7 @@
-
+
@@ -125,11 +125,16 @@ $(function () { $('a[data-tab="traditional"]').click(function () { $('input[name=type]').val('traditional'); if ($('div[data-tab="interaction"]').attr('data-tab', 'traditional').length) $('a[data-tab="traditional"]').click(); + + $('#std-io')[0].disabled = false; }); $('a[data-tab="interaction"]').click(function () { $('input[name=type]').val('interaction'); if ($('div[data-tab="traditional"]').attr('data-tab', 'interaction').length) $('a[data-tab="interaction"]').click(); + + $('#std-io')[0].disabled = true; + $('#file-io').click(); }); $('a[data-tab="submit-answer"]').click(function () {