An invalid form control with name='' is not focusa

http://blog.youkuaiyun.com/breezehappy/article/details/8575283

是required ="required"验证项出了问题。

转载于:https://my.oschina.net/u/2286010/blog/637208

<!DOCTYPE html> <html dir="ltr" lang="zh-cn" xml:lang="zh-cn"> <head> <title>工业网络通信与网络安全: 2025-2026学年第1学期练习卷1</title> <link rel="shortcut icon" href="https://mood.nbpt.edu.cn/ykk/theme/image.php/simplest/theme/1764916987/favicon" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="keywords" content="moodle, 工业网络通信与网络安全: 2025-2026学年第1学期练习卷1" /> <link rel="stylesheet" type="text/css" href="https://mood.nbpt.edu.cn/ykk/theme/yui_combo.php?rollup/3.17.2/yui-moodlesimple-min.css" /><script id="firstthemesheet" type="text/css">/** Required in order to fix style inclusion problems in IE with YUI **/</script><link rel="stylesheet" type="text/css" href="https://mood.nbpt.edu.cn/ykk/theme/styles.php/simplest/1764916987_1/all" /> <script> //<![CDATA[ var M = {}; M.yui = {}; M.pageloadstarttime = new Date(); M.cfg = {"wwwroot":"https:\/\/mood.nbpt.edu.cn\/ykk","sesskey":"DdIe5UHFb4","sessiontimeout":"3600","sessiontimeoutwarning":"1200","themerev":"1764916987","slasharguments":1,"theme":"simplest","iconsystemmodule":"core\/icon_system_fontawesome","jsrev":"1745102713","admin":"admin","svgicons":true,"usertimezone":"\u4e9a\u6d32\/\u4e0a\u6d77","contextid":699142,"langrev":1755746931,"templaterev":-1};var yui1ConfigFn = function(me) {if(/-skin|reset|fonts|grids|base/.test(me.name)){me.type='css';me.path=me.path.replace(/\.js/,'.css');me.path=me.path.replace(/\/yui2-skin/,'/assets/skins/sam/yui2-skin')}}; var yui2ConfigFn = function(me) {var parts=me.name.replace(/^moodle-/,'').split('-'),component=parts.shift(),module=parts[0],min='-min';if(/-(skin|core)$/.test(me.name)){parts.pop();me.type='css';min=''} if(module){var filename=parts.join('-');me.path=component+'/'+module+'/'+filename+min+'.'+me.type}else{me.path=component+'/'+component+'.'+me.type}}; YUI_config = {"debug":false,"base":"https:\/\/mood.nbpt.edu.cn\/ykk\/lib\/yuilib\/3.17.2\/","comboBase":"https:\/\/mood.nbpt.edu.cn\/ykk\/theme\/yui_combo.php?","combine":true,"filter":null,"insertBefore":"firstthemesheet","groups":{"yui2":{"base":"https:\/\/mood.nbpt.edu.cn\/ykk\/lib\/yuilib\/2in3\/2.9.0\/build\/","comboBase":"https:\/\/mood.nbpt.edu.cn\/ykk\/theme\/yui_combo.php?","combine":true,"ext":false,"root":"2in3\/2.9.0\/build\/","patterns":{"yui2-":{"group":"yui2","configFn":yui1ConfigFn}}},"moodle":{"name":"moodle","base":"https:\/\/mood.nbpt.edu.cn\/ykk\/theme\/yui_combo.php?m\/1745102713\/","combine":true,"comboBase":"https:\/\/mood.nbpt.edu.cn\/ykk\/theme\/yui_combo.php?","ext":false,"root":"m\/1745102713\/","patterns":{"moodle-":{"group":"moodle","configFn":yui2ConfigFn}},"filter":null,"modules":{"moodle-core-handlebars":{"condition":{"trigger":"handlebars","when":"after"}},"moodle-core-blocks":{"requires":["base","node","io","dom","dd","dd-scroll","moodle-core-dragdrop","moodle-core-notification"]},"moodle-core-event":{"requires":["event-custom"]},"moodle-core-formchangechecker":{"requires":["base","event-focus","moodle-core-event"]},"moodle-core-dragdrop":{"requires":["base","node","io","dom","dd","event-key","event-focus","moodle-core-notification"]},"moodle-core-notification":{"requires":["moodle-core-notification-dialogue","moodle-core-notification-alert","moodle-core-notification-confirm","moodle-core-notification-exception","moodle-core-notification-ajaxexception"]},"moodle-core-notification-dialogue":{"requires":["base","node","panel","escape","event-key","dd-plugin","moodle-core-widget-focusafterclose","moodle-core-lockscroll"]},"moodle-core-notification-alert":{"requires":["moodle-core-notification-dialogue"]},"moodle-core-notification-confirm":{"requires":["moodle-core-notification-dialogue"]},"moodle-core-notification-exception":{"requires":["moodle-core-notification-dialogue"]},"moodle-core-notification-ajaxexception":{"requires":["moodle-core-notification-dialogue"]},"moodle-core-popuphelp":{"requires":["moodle-core-tooltip"]},"moodle-core-lockscroll":{"requires":["plugin","base-build"]},"moodle-core-tooltip":{"requires":["base","node","io-base","moodle-core-notification-dialogue","json-parse","widget-position","widget-position-align","event-outside","cache-base"]},"moodle-core-maintenancemodetimer":{"requires":["base","node"]},"moodle-core-chooserdialogue":{"requires":["base","panel","moodle-core-notification"]},"moodle-core-languninstallconfirm":{"requires":["base","node","moodle-core-notification-confirm","moodle-core-notification-alert"]},"moodle-core-actionmenu":{"requires":["base","event","node-event-simulate"]},"moodle-core_availability-form":{"requires":["base","node","event","event-delegate","panel","moodle-core-notification-dialogue","json"]},"moodle-backup-backupselectall":{"requires":["node","event","node-event-simulate","anim"]},"moodle-backup-confirmcancel":{"requires":["node","node-event-simulate","moodle-core-notification-confirm"]},"moodle-course-util":{"requires":["node"],"use":["moodle-course-util-base"],"submodules":{"moodle-course-util-base":{},"moodle-course-util-section":{"requires":["node","moodle-course-util-base"]},"moodle-course-util-cm":{"requires":["node","moodle-course-util-base"]}}},"moodle-course-formatchooser":{"requires":["base","node","node-event-simulate"]},"moodle-course-dragdrop":{"requires":["base","node","io","dom","dd","dd-scroll","moodle-core-dragdrop","moodle-core-notification","moodle-course-coursebase","moodle-course-util"]},"moodle-course-management":{"requires":["base","node","io-base","moodle-core-notification-exception","json-parse","dd-constrain","dd-proxy","dd-drop","dd-delegate","node-event-delegate"]},"moodle-course-categoryexpander":{"requires":["node","event-key"]},"moodle-form-shortforms":{"requires":["node","base","selector-css3","moodle-core-event"]},"moodle-form-passwordunmask":{"requires":[]},"moodle-form-dateselector":{"requires":["base","node","overlay","calendar"]},"moodle-question-preview":{"requires":["base","dom","event-delegate","event-key","core_question_engine"]},"moodle-question-searchform":{"requires":["base","node"]},"moodle-question-chooser":{"requires":["moodle-core-chooserdialogue"]},"moodle-availability_completion-form":{"requires":["base","node","event","moodle-core_availability-form"]},"moodle-availability_date-form":{"requires":["base","node","event","io","moodle-core_availability-form"]},"moodle-availability_grade-form":{"requires":["base","node","event","moodle-core_availability-form"]},"moodle-availability_group-form":{"requires":["base","node","event","moodle-core_availability-form"]},"moodle-availability_grouping-form":{"requires":["base","node","event","moodle-core_availability-form"]},"moodle-availability_profile-form":{"requires":["base","node","event","moodle-core_availability-form"]},"moodle-mod_quiz-quizbase":{"requires":["base","node"]},"moodle-mod_quiz-toolboxes":{"requires":["base","node","event","event-key","io","moodle-mod_quiz-quizbase","moodle-mod_quiz-util-slot","moodle-core-notification-ajaxexception"]},"moodle-mod_quiz-questionchooser":{"requires":["moodle-core-chooserdialogue","moodle-mod_quiz-util","querystring-parse"]},"moodle-mod_quiz-modform":{"requires":["base","node","event"]},"moodle-mod_quiz-autosave":{"requires":["base","node","event","event-valuechange","node-event-delegate","io-form"]},"moodle-mod_quiz-dragdrop":{"requires":["base","node","io","dom","dd","dd-scroll","moodle-core-dragdrop","moodle-core-notification","moodle-mod_quiz-quizbase","moodle-mod_quiz-util-base","moodle-mod_quiz-util-page","moodle-mod_quiz-util-slot","moodle-course-util"]},"moodle-mod_quiz-util":{"requires":["node","moodle-core-actionmenu"],"use":["moodle-mod_quiz-util-base"],"submodules":{"moodle-mod_quiz-util-base":{},"moodle-mod_quiz-util-slot":{"requires":["node","moodle-mod_quiz-util-base"]},"moodle-mod_quiz-util-page":{"requires":["node","moodle-mod_quiz-util-base"]}}},"moodle-message_airnotifier-toolboxes":{"requires":["base","node","io"]},"moodle-filter_easychem-loader":{"requires":["moodle-core-event"]},"moodle-filter_mathjaxloader-loader":{"requires":["moodle-core-event"]},"moodle-editor_atto-rangy":{"requires":[]},"moodle-editor_atto-editor":{"requires":["node","transition","io","overlay","escape","event","event-simulate","event-custom","node-event-html5","node-event-simulate","yui-throttle","moodle-core-notification-dialogue","moodle-core-notification-confirm","moodle-editor_atto-rangy","handlebars","timers","querystring-stringify"]},"moodle-editor_atto-plugin":{"requires":["node","base","escape","event","event-outside","handlebars","event-custom","timers","moodle-editor_atto-menu"]},"moodle-editor_atto-menu":{"requires":["moodle-core-notification-dialogue","node","event","event-custom"]},"moodle-report_eventlist-eventfilter":{"requires":["base","event","node","node-event-delegate","datatable","autocomplete","autocomplete-filters"]},"moodle-report_loglive-fetchlogs":{"requires":["base","event","node","io","node-event-delegate"]},"moodle-gradereport_grader-gradereporttable":{"requires":["base","node","event","handlebars","overlay","event-hover"]},"moodle-gradereport_history-userselector":{"requires":["escape","event-delegate","event-key","handlebars","io-base","json-parse","moodle-core-notification-dialogue"]},"moodle-tool_capability-search":{"requires":["base","node"]},"moodle-tool_lp-dragdrop-reorder":{"requires":["moodle-core-dragdrop"]},"moodle-tool_monitor-dropdown":{"requires":["base","event","node"]},"moodle-atto_accessibilitychecker-button":{"requires":["color-base","moodle-editor_atto-plugin"]},"moodle-atto_accessibilityhelper-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_align-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_bold-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_charmap-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_chemistry-button":{"requires":["moodle-editor_atto-plugin","moodle-core-event","io","event-valuechange","tabview","array-extras"]},"moodle-atto_clear-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_collapse-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_computing-button":{"requires":["moodle-editor_atto-plugin","moodle-core-event","io","event-valuechange","tabview","array-extras"]},"moodle-atto_easychem-button":{"requires":["moodle-editor_atto-plugin","moodle-core-event","io","event-valuechange","tabview","array-extras"]},"moodle-atto_emojipicker-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_emoticon-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_equation-button":{"requires":["moodle-editor_atto-plugin","moodle-core-event","io","event-valuechange","tabview","array-extras"]},"moodle-atto_fullscreen-button":{"requires":["event-resize","moodle-editor_atto-plugin"]},"moodle-atto_h5p-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_html-beautify":{},"moodle-atto_html-codemirror":{"requires":["moodle-atto_html-codemirror-skin"]},"moodle-atto_html-button":{"requires":["promise","moodle-editor_atto-plugin","moodle-atto_html-beautify","moodle-atto_html-codemirror","event-valuechange"]},"moodle-atto_image-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_indent-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_italic-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_link-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_managefiles-usedfiles":{"requires":["node","escape"]},"moodle-atto_managefiles-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_matrix-button":{"requires":["moodle-editor_atto-plugin","moodle-core-event","io","event-valuechange","tabview","array-extras"]},"moodle-atto_media-button":{"requires":["moodle-editor_atto-plugin","moodle-form-shortforms"]},"moodle-atto_noautolink-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_orderedlist-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_recittakepicture-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_recordrtc-button":{"requires":["moodle-editor_atto-plugin","moodle-atto_recordrtc-recording"]},"moodle-atto_recordrtc-recording":{"requires":["moodle-atto_recordrtc-button"]},"moodle-atto_rtl-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_sketch-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_strike-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_subscript-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_superscript-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_table-button":{"requires":["moodle-editor_atto-plugin","moodle-editor_atto-menu","event","event-valuechange"]},"moodle-atto_title-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_underline-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_undo-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_unorderedlist-button":{"requires":["moodle-editor_atto-plugin"]},"moodle-atto_wordimport-button":{"requires":["moodle-editor_atto-plugin"]}}},"gallery":{"name":"gallery","base":"https:\/\/mood.nbpt.edu.cn\/ykk\/lib\/yuilib\/gallery\/","combine":true,"comboBase":"https:\/\/mood.nbpt.edu.cn\/ykk\/theme\/yui_combo.php?","ext":false,"root":"gallery\/1745102713\/","patterns":{"gallery-":{"group":"gallery"}}}},"modules":{"core_filepicker":{"name":"core_filepicker","fullpath":"https:\/\/mood.nbpt.edu.cn\/ykk\/lib\/javascript.php\/1745102713\/repository\/filepicker.js","requires":["base","node","node-event-simulate","json","async-queue","io-base","io-upload-iframe","io-form","yui2-treeview","panel","cookie","datatable","datatable-sort","resize-plugin","dd-plugin","escape","moodle-core_filepicker","moodle-core-notification-dialogue"]},"core_comment":{"name":"core_comment","fullpath":"https:\/\/mood.nbpt.edu.cn\/ykk\/lib\/javascript.php\/1745102713\/comment\/comment.js","requires":["base","io-base","node","json","yui2-animation","overlay","escape"]},"mathjax":{"name":"mathjax","fullpath":"https:\/\/mood.nbpt.edu.cn\/ykk\/mathjax@2.7.9\/MathJax.js?delayStartupUntil=configured"}}}; M.yui.loader = {modules: {}}; //]]> </script> <meta name="robots" content="noindex" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body id="page-mod-quiz-view" class="format-topics path-mod path-mod-quiz chrome dir-ltr lang-zh_cn yui-skin-sam yui3-skin-sam mood-nbpt-edu-cn--ykk pagelayout-incourse course-632 context-699142 cmid-3294 category-3 "> <div id="page-wrapper" class="d-print-block"> <div> <a class="sr-only sr-only-focusable" href="#maincontent">跳到主要内容</a> </div><script src="https://mood.nbpt.edu.cn/ykk/lib/javascript.php/1745102713/lib/babel-polyfill/polyfill.min.js"></script> <script src="https://mood.nbpt.edu.cn/ykk/lib/javascript.php/1745102713/lib/polyfills/polyfill.js"></script> <script src="https://mood.nbpt.edu.cn/ykk/theme/yui_combo.php?rollup/3.17.2/yui-moodlesimple-min.js"></script><script src="https://mood.nbpt.edu.cn/ykk/lib/javascript.php/1745102713/lib/javascript-static.js"></script> <script> //<![CDATA[ document.body.className += ' jsenabled'; //]]> </script> <nav class="fixed-top navbar navbar-bootswatch navbar-expand moodle-has-zindex"> <a href="https://mood.nbpt.edu.cn/ykk" class="navbar-brand aalink d-none d-sm-inline "> <span class="site-name d-none d-md-inline">云考酷</span> </a> <ul class="navbar-nav d-none d-md-flex"> <!-- custom_menu --> <!-- --> <!-- page_heading_menu --> </ul> <div class="ml-auto"> </div> <ul class="nav navbar-nav usernav"> <!-- navbar_plugin_output --> <li class="nav-item"> </li> <!-- user_menu --> <li class="nav-item align-items-center"> <!-- <div class="usermenu"><div class="action-menu moodle-actionmenu nowrap-items d-inline" id="action-menu-0" data-enhance="moodle-core-actionmenu"> <div class="menubar d-flex " id="action-menu-0-menubar"> <div class="action-menu-trigger"> <div class="dropdown"> <a href="#" tabindex="0" class="d-inline-block dropdown-toggle icon-no-margin" id="action-menu-toggle-0" aria-label="用户菜单" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" aria-controls="action-menu-0-menu"> <span class="userbutton"><span class="usertext mr-1">吴曰清</span><span class="avatars"><span class="avatar current"><img src=https://mood.nbpt.edu.cn/ykk/pluginfile.php/463328/user/icon/f2></span></span></span> <b class="caret"></b> </a> <div class="dropdown-menu dropdown-menu-right menu align-tr-br" id="action-menu-0-menu" data-rel="menu-content" aria-labelledby="action-menu-toggle-0" role="menu" data-align="tr-br"> <a href="https://mood.nbpt.edu.cn/ykk/my/" class="dropdown-item menu-action" role="menuitem" data-title="mymoodle,admin" tabindex="-1" aria-labelledby="actionmenuaction-1"> <i class="icon fa fa-tachometer fa-fw " aria-hidden="true" ></i> <span class="menu-action-text" id="actionmenuaction-1">个人主页</span> </a> <div class="dropdown-divider" role="presentation"><span class="filler"> </span></div> <a href="https://mood.nbpt.edu.cn/ykk/user/profile.php?id=23847" class="dropdown-item menu-action" role="menuitem" data-title="profile,moodle" tabindex="-1" aria-labelledby="actionmenuaction-2"> <i class="icon fa fa-user fa-fw " aria-hidden="true" ></i> <span class="menu-action-text" id="actionmenuaction-2">个人档案</span> </a> <a href="https://mood.nbpt.edu.cn/ykk/grade/report/overview/index.php" class="dropdown-item menu-action" role="menuitem" data-title="grades,grades" tabindex="-1" aria-labelledby="actionmenuaction-3"> <i class="icon fa fa-table fa-fw " aria-hidden="true" ></i> <span class="menu-action-text" id="actionmenuaction-3">成绩</span> </a> <a href="https://mood.nbpt.edu.cn/ykk/message/index.php" class="dropdown-item menu-action" role="menuitem" data-title="messages,message" tabindex="-1" aria-labelledby="actionmenuaction-4"> <i class="icon fa fa-comment fa-fw " aria-hidden="true" ></i> <span class="menu-action-text" id="actionmenuaction-4">消息</span> </a> <a href="https://mood.nbpt.edu.cn/ykk/user/preferences.php" class="dropdown-item menu-action" role="menuitem" data-title="preferences,moodle" tabindex="-1" aria-labelledby="actionmenuaction-5"> <i class="icon fa fa-wrench fa-fw " aria-hidden="true" ></i> <span class="menu-action-text" id="actionmenuaction-5">偏好</span> </a> <div class="dropdown-divider" role="presentation"><span class="filler"> </span></div> <a href="https://mood.nbpt.edu.cn/ykk/login/logout.php?sesskey=DdIe5UHFb4" class="dropdown-item menu-action" role="menuitem" data-title="logout,moodle" tabindex="-1" aria-labelledby="actionmenuaction-6"> <i class="icon fa fa-sign-out fa-fw " aria-hidden="true" ></i> <span class="menu-action-text" id="actionmenuaction-6">退出登录</span> </a> </div> </div> </div> </div> </div></div> --> </li> </ul> <!-- search_box --> </nav> <div id="page" class="container-fluid d-print-block"> <header id="page-header" class="row"> <div class="col-12 pt-3 pb-3"> <div class="card "> <div class="card-body "> <div class="d-flex align-items-center"> <div class="mr-auto"> <div class="page-context-header"><div class="page-header-headings"><h1>工业网络通信与网络安全    吴曰清    2445183225</h1></div></div> </div> <div class="header-actions-container flex-shrink-0" data-region="header-actions-container"> </div> </div> <div class="d-flex flex-wrap"> <div id="page-navbar"> <nav aria-label="导航栏"> <ol class="breadcrumb"> <li class="breadcrumb-item"> <a href="https://mood.nbpt.edu.cn/ykk/my/" >个人主页</a> </li> <li class="breadcrumb-item"> <a href="https://mood.nbpt.edu.cn/ykk/course/index.php" >考试科目</a> </li> <li class="breadcrumb-item"> <a href="https://mood.nbpt.edu.cn/ykk/course/view.php?id=632" title="工业网络通信与网络安全">工业网络通信与网络安全</a> </li> <li class="breadcrumb-item">常规</li> <li class="breadcrumb-item"> <a href="https://mood.nbpt.edu.cn/ykk/mod/quiz/view.php?id=3294" aria-current="page" title="测验">2025-2026学年第1学期练习卷1</a> </li> </ol> </nav> </div> <div class="ml-auto d-flex"> </div> <div id="course-header"> </div> </div> </div> </div> </div> </header> <div id="page-content" class="row d-print-block"> <div id="region-main-box" class="region-main"> <section id="region-main" class="region-main-content" aria-label="内容"> <span class="notifications" id="user-notifications"></span> <div role="main"><span id="maincontent"></span><div class="box py-3 quizinfo"><p>允许考试次数:1</p> <p>要尝试这个测验,您需要知道测验密码</p> <p>时间限制:1 小时 30 分钟</p> </div><div class="box py-3 quizattempt"><div class="singlebutton quizstartbuttondiv"> <form method="post" action="https://mood.nbpt.edu.cn/ykk/mod/quiz/startattempt.php" > <input type="hidden" name="cmid" value="3294"> <input type="hidden" name="sesskey" value="DdIe5UHFb4"> <button type="submit" class="btn btn-primary" id="single_button6935678dc89d910" title="" >我已认真阅读完考生须知,准备好了</button> </form> </div> <form autocomplete="off" action="https://mood.nbpt.edu.cn/ykk/mod/quiz/startattempt.php" method="post" accept-charset="utf-8" id="mod_quiz_preflight_form" class="mform"> <div style="display: none;"><input name="cmid" type="hidden" value="3294" /> <input name="sesskey" type="hidden" value="DdIe5UHFb4" /> <input name="_qf__mod_quiz_preflight_check_form" type="hidden" value="1" /> </div> <fieldset class="clearfix" id="id_passwordheader"> <legend class="ftoggler">密码</legend> <div class="fcontainer clearfix"> <div id="fitem_id_passwordmessage" class="form-group row fitem femptylabel " > <div class="col-md-3 col-form-label d-flex pb-0 pr-md-0"> <div class="form-label-addon d-flex align-items-center align-self-start"> </div> </div> <div class="col-md-9 form-inline align-items-start felement" data-fieldtype="static"> <div class="form-control-static"> 要尝试这个测验,您需要知道测验密码 </div> <div class="form-control-feedback invalid-feedback" id="id_error_passwordmessage" > </div> </div> </div><div id="fitem_id_quizpassword" class="form-group row fitem " > <div class="col-md-3 col-form-label d-flex pb-0 pr-md-0"> <label class="d-inline word-break " for="id_quizpassword"> 测验密码 </label> <div class="form-label-addon d-flex align-items-center align-self-start"> </div> </div> <div class="col-md-9 form-inline align-items-start felement" data-fieldtype="password"> <input type="password" class="form-control " name="quizpassword" id="id_quizpassword" value="" autofocus="true" autocomplete="off"> <div class="form-control-feedback invalid-feedback" id="id_error_quizpassword" > </div> </div> </div><div id="fitem_id_honestycheckmessage" class="form-group row fitem femptylabel " > <div class="col-md-3 col-form-label d-flex pb-0 pr-md-0"> <div class="form-label-addon d-flex align-items-center align-self-start"> </div> </div> <div class="col-md-9 form-inline align-items-start felement" data-fieldtype="static"> <div class="form-control-static"> 考试时长:1 小时 30 分钟,你确定开始吗? </div> <div class="form-control-feedback invalid-feedback" id="id_error_honestycheckmessage" > </div> </div> </div> </div></fieldset><div id="fgroup_id_buttonar" class="form-group row fitem femptylabel " data-groupname="buttonar"> <div class="col-md-3 col-form-label d-flex pb-0 pr-md-0"> <div class="form-label-addon d-flex align-items-center align-self-start"> </div> </div> <div class="col-md-9 form-inline align-items-start felement" data-fieldtype="group"> <fieldset class="w-100 m-0 p-0 border-0"> <div class="d-flex flex-wrap align-items-center"> <div class="form-group fitem " > <span data-fieldtype="submit"> <input type="submit" class="btn btn-primary " name="submitbutton" id="id_submitbutton" value="开始考试" > </span> <div class="form-control-feedback invalid-feedback" id="id_error_submitbutton" > </div> </div> <div class="form-group fitem btn-cancel" > <span data-fieldtype="submit"> <input type="submit" class="btn btn-secondary " name="cancel" id="id_cancel" value="取消" data-skip-validation="1" data-cancel="1" onclick="skipClientValidation = true; return true;" > </span> <div class="form-control-feedback invalid-feedback" id="id_error_cancel" > </div> </div> </div> </fieldset> <div class="form-control-feedback invalid-feedback" id="fgroup_id_error_buttonar" > </div> </div> </div> </form></div></div> <div class="mt-5 mb-1 activity-navigation container-fluid"> <div class="row"> <div class="col-md-4"> <div class="float-left"> </div> </div> <div class="col-md-4"> <div class="mdl-align"> </div> </div> <div class="col-md-4"> <div class="float-right"> </div> </div> </div> </div> </section> </div> <div class="columnleft blockcolumn "> <section data-region="blocks-column" class="d-print-none" aria-label="版块"> <aside id="block-region-side-pre" class="block-region" data-blockregion="side-pre" data-droptarget="1"></aside> </section> </div> <div class="columnright blockcolumn "> <section data-region="blocks-column" class="d-print-none" aria-label="版块"> <aside id="block-region-side-post" class="block-region" data-blockregion="side-post" data-droptarget="1"></aside> </section> </div> </div> </div> <footer id="page-footer" class="py-3 bg-dark text-light"> <div class="container"> <script> //<![CDATA[ var require = { baseUrl : 'https://mood.nbpt.edu.cn/ykk/lib/requirejs.php/1745102713/', // We only support AMD modules with an explicit define() statement. enforceDefine: true, skipDataMain: true, waitSeconds : 0, paths: { jquery: 'https://mood.nbpt.edu.cn/ykk/lib/javascript.php/1745102713/lib/jquery/jquery-3.5.1.min', jqueryui: 'https://mood.nbpt.edu.cn/ykk/lib/javascript.php/1745102713/lib/jquery/ui-1.12.1/jquery-ui.min', jqueryprivate: 'https://mood.nbpt.edu.cn/ykk/lib/javascript.php/1745102713/lib/requirejs/jquery-private' }, // Custom jquery config map. map: { // '*' means all modules will get 'jqueryprivate' // for their 'jquery' dependency. '*': { jquery: 'jqueryprivate' }, // Stub module for 'process'. This is a workaround for a bug in MathJax (see MDL-60458). '*': { process: 'core/first' }, // 'jquery-private' wants the real jQuery module // though. If this line was not here, there would // be an unresolvable cyclic dependency. jqueryprivate: { jquery: 'jquery' } } }; //]]> </script> <script src="https://mood.nbpt.edu.cn/ykk/lib/javascript.php/1745102713/lib/requirejs/require.min.js"></script> <script> //<![CDATA[ M.util.js_pending("core/first"); require(['core/first'], function() { require(['core/prefetch']) ; require(["media_videojs/loader"], function(loader) { loader.setUp('zh-CN'); });; M.util.js_pending('block_settings/settingsblock'); require(['block_settings/settingsblock'], function(amd) {amd.init("21", null); M.util.js_complete('block_settings/settingsblock');});; M.util.js_pending('theme_boost/loader'); require(['theme_boost/loader'], function() { M.util.js_complete('theme_boost/loader'); }); ; require(['theme_boost/form-display-errors'], function(module) { module.enhance("id_passwordmessage"); }); ; require(['theme_boost/form-display-errors'], function(module) { module.enhance("id_quizpassword"); }); ; require(['theme_boost/form-display-errors'], function(module) { module.enhance("id_honestycheckmessage"); }); ; require(['theme_boost/form-display-errors'], function(module) { module.enhance("id_submitbutton"); }); ; require(['core_form/submit'], function(Submit) { Submit.init("id_submitbutton"); }); ; require(['theme_boost/form-display-errors'], function(module) { module.enhance("id_cancel"); }); ; require(['core_form/submit'], function(Submit) { Submit.init("id_cancel"); }); ; require(['theme_boost/form-display-errors'], function(module) { module.enhance("fgroup_id_buttonar"); }); ; require(['jquery'], function($) { $('#fgroup_id_buttonar_label').css('cursor', 'default'); $('#fgroup_id_buttonar_label').click(function() { $('#fgroup_id_buttonar') .find('button, a, input:not([type="hidden"]), select, textarea, [tabindex]') .filter(':not([disabled]):not([tabindex="0"]):not([tabindex="-1"])') .first().focus(); }); }); ; M.util.js_pending('mod_quiz/preflightcheck'); require(['mod_quiz/preflightcheck'], function(amd) {amd.init(".quizstartbuttondiv [type=submit]", "\u5f00\u59cb\u8003\u8bd5", "#mod_quiz_preflight_form", null); M.util.js_complete('mod_quiz/preflightcheck');});; M.util.js_pending('core/notification'); require(['core/notification'], function(amd) {amd.init(699142, []); M.util.js_complete('core/notification');});; M.util.js_pending('core/log'); require(['core/log'], function(amd) {amd.setConfig({"level":"warn"}); M.util.js_complete('core/log');});; M.util.js_pending('core/page_global'); require(['core/page_global'], function(amd) {amd.init(); M.util.js_complete('core/page_global');}); M.util.js_complete("core/first"); }); //]]> </script> <script> //<![CDATA[ M.str = {"moodle":{"lastmodified":"\u6700\u540e\u4fee\u6539","name":"\u540d\u79f0","error":"\u9519\u8bef","info":"\u4fe1\u606f","yes":"\u662f\u7684","no":"\u5426","cancel":"\u53d6\u6d88","changesmadereallygoaway":"\u60a8\u505a\u51fa\u4e86\u6539\u52a8\u3002\u60a8\u786e\u5b9a\u8981\u79bb\u5f00\u5e76\u653e\u5f03\u6240\u6709\u6539\u52a8\u5417\uff1f","confirm":"\u786e\u8ba4","areyousure":"\u60a8\u786e\u5b9a\u5417\uff1f","closebuttontitle":"\u5173\u95ed","unknownerror":"\u672b\u77e5\u9519\u8bef","file":"\u6587\u4ef6","url":"\u7f51\u9875\u5730\u5740","collapseall":"\u5168\u90e8\u6298\u53e0","expandall":"\u5c55\u5f00\u5168\u90e8"},"repository":{"type":"\u7c7b\u578b","size":"\u5927\u5c0f","invalidjson":"\u65e0\u6548\u7684JSON\u5b57\u7b26\u4e32","nofilesattached":"\u6ca1\u6709\u9644\u4ef6","filepicker":"\u6587\u4ef6\u9009\u62e9\u5668","logout":"\u767b\u51fa","nofilesavailable":"\u6ca1\u6709\u53ef\u7528\u6587\u4ef6","norepositoriesavailable":"\u62b1\u6b49\uff0c\u60a8\u4f7f\u7528\u7684\u5bb9\u5668\u90fd\u4e0d\u80fd\u8fd4\u56de\u7b26\u5408\u9700\u8981\u7684\u683c\u5f0f\u7684\u6587\u4ef6\u3002","fileexistsdialogheader":"\u6587\u4ef6\u5df2\u5b58\u5728","fileexistsdialog_editor":"\u60a8\u6b63\u7f16\u8f91\u7684\u6587\u672c\u7684\u9644\u4ef6\u4e2d\u5df2\u7ecf\u6709\u4e00\u4e2a\u540c\u540d\u6587\u4ef6\u3002","fileexistsdialog_filemanager":"\u5df2\u7ecf\u6709\u4e00\u4e2a\u540c\u540d\u6587\u4ef6","renameto":"\u91cd\u547d\u540d\u4e3a\u201c{$a}\u201d","referencesexist":"\u6709 {$a} \u4e2a\u522b\u540d\u6216\u5feb\u6377\u65b9\u5f0f\u5f15\u7528\u6b64\u6587\u4ef6","select":"\u9009\u62e9"},"admin":{"confirmdeletecomments":"\u60a8\u5c06\u5220\u9664\u8bc4\u8bba\uff0c\u786e\u5b9a\u5417\uff1f","confirmation":"\u786e\u8ba4"},"debug":{"debuginfo":"\u8c03\u8bd5\u4fe1\u606f","line":"\u884c","stacktrace":"\u5806\u6808\u8ddf\u8e2a"},"langconfig":{"labelsep":"\uff1a"}}; //]]> </script> <script> //<![CDATA[ (function() {Y.use("moodle-filter_mathjaxloader-loader",function() {M.filter_mathjaxloader.configure({"mathjaxconfig":"MathJax.Hub.Config({\r\n config: [\"Accessible.js\", \"Safe.js\"],\r\n errorSettings: { message: [\"!\"] },\r\n skipStartupTypeset: true,\r\n messageStyle: \"none\"\r\n});\r\n","lang":"zh-hans"}); }); M.util.help_popups.setup(Y); Y.use("moodle-core-formchangechecker",function() {M.core_formchangechecker.init({"formid":"mod_quiz_preflight_form","initialdirtystate":false}); }); M.util.js_pending('random6935678dc89d911'); Y.on('domready', function() { M.util.js_complete("init"); M.util.js_complete('random6935678dc89d911'); }); })(); //]]> </script> </div> </footer> </div> </body> </html>题库在哪
12-08
#region 员工信息维护 private class EmployeeInfo { public string EmpId { get; set; } // 工号(唯一) public string EmpPhone { get; set; } // 手机号 public string EmpEmail { get; set; } // 邮箱 public string EmpGender { get; set; } // 性别(男/女) } /// <summary> /// 工号唯一性校验(排除自身编辑时) /// </summary> private bool IsEmployeeIdDuplicate(string empId, int excludeConfigId = 0) { // 查询当前组织下所有员工配置(key=Employee) List<sys_configd_det> employees = m_DAL.SqlQueryList( $"SELECT sys_configd_value FROM sys_configd_det WHERE sys_configd_key='Employee' AND sys_configd_orgid='{m_LoginUserCore.m_org.id}' AND sys_configd_status<>'DE'" ); foreach (sys_configd_det emp in employees) { try { EmployeeInfo info = JsonConvert.DeserializeObject<EmployeeInfo>(emp.sys_configd_value); if (info.EmpId == empId && (excludeConfigId == 0 || emp.id != excludeConfigId)) { return true; // 存在重复工号 } } catch { /* 解析失败忽略 */ } } return false; } /// <summary> /// 添加员工信息(存储为JSON) /// </summary> public int AddEmployee() { try { // 1. 提取参数 string empId = jobject.GetValue("empId")?.ToString().Trim(); string empPhone = jobject.GetValue("empPhone")?.ToString().Trim(); string empEmail = jobject.GetValue("empEmail")?.ToString().Trim(); string empGender = jobject.GetValue("empGender")?.ToString().Trim(); // 2. 基础校验 if (string.IsNullOrEmpty(empId)) { message = new Message(false, "工号不能为空"); return 0; } if (IsEmployeeIdDuplicate(empId)) { message = new Message(false, $"工号【{empId}】已存在"); return 0; } if (!IsValidPhone(empPhone)) { message = new Message(false, "手机号格式错误(11位数字)"); return 0; } if (!IsValidEmail(empEmail)) { message = new Message(false, "邮箱格式错误(示例:xxx@xxx.com)"); return 0; } if (!IfSex(empGender)) { message = new Message(false, "性别只能是「男」或「女」"); return 0; } // 3. 序列化员工信息为JSON EmployeeInfo employee = new EmployeeInfo { EmpId = empId, EmpPhone = empPhone, EmpEmail = empEmail, EmpGender = empGender }; string employeeJson = JsonConvert.SerializeObject(employee); // 4. 保存到数据库(key=Employee 区分员工信息) sys_configd_det config = new sys_configd_det { sys_configd_key = "Employee", // 标识为员工信息 sys_configd_value = employeeJson, // JSON存储 sys_configd_memo0 = $"员工:{empId}", // 描述 sys_configd_orgid = m_LoginUserCore.m_org.id.ToString(), sys_configd_status = "OP", // 启用状态 sys_configd_tdef = "0" // 可选上级类型 }; int result = m_DAL.Add(config); message = result > 0 ? new Message(true, $"员工【{empId}】添加成功") : new Message(false, "添加失败"); return result; } catch (Exception ex) { message = new Message(false, $"添加失败:{ex.Message}"); return 0; } } /// <summary> /// 手机号格式验证(11位数字,1开头) /// </summary> private bool IsValidPhone(string phone) => !string.IsNullOrEmpty(phone) && Regex.IsMatch(phone, @"^1[3-9]\d{9}$"); /// <summary> /// 邮箱格式验证 /// </summary> private bool IsValidEmail(string email) => !string.IsNullOrEmpty(email) && Regex.IsMatch(email, @"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"); /// <summary> /// 性别验证 /// </summary> private bool IfSex(string gender) => gender == "男" || gender == "女"; public string GenerateUniqueEmployeeId(string empId, int excludeConfigId = 0) => throw new NotImplementedException(); public string GenerateUniqueEmployeeId(string empId) => throw new NotImplementedException(); public bool IsValidID(string empId) => throw new NotImplementedException(); public MeetingTplServiceCore.EmployeeInfo GetEmployeeById(int id) => throw new NotImplementedException(); #endregion } <div class="form-group"> <label class="control-label"><span style="color:red">*</span>@ods.getLabel("工号"):</label> <div class="control-content"> <input type="text" name="empId" class="form-control" pattern="\d{3}" maxlength="3" data-tip-invalid="@ods.getLabel("工号必须是3位数字")" placeholder="@ods.getLabel("请输入3位数字工号")" required> </div> </div> <div class="form-group"> <label class="control-label"><span style="color:red">*</span>@ods.getLabel("手机号"):</label> <div class="control-content"> <input type="tel" name="empPhone" class="form-control" pattern="1[3-9]\d{9}" maxlength="11" data-tip-invalid="@ods.getLabel("手机号格式错误")" placeholder="@ods.getLabel("请输入11位手机号")" required> </div> </div> <div class="form-group"> <label class="control-label"><span style="color:red">*</span>@ods.getLabel("邮箱"):</label> <div class="control-content"> <input type="email" name="empEmail" class="form-control" data-tip-invalid="@ods.getLabel("邮箱格式错误")" placeholder="@ods.getLabel("请输入邮箱")" required> </div> </div> <div class="form-group"> <label class="control-label"><span style="color:red">*</span>@ods.getLabel("性别"):</label> <div class="control-content"> <select name="empGender" class="form-control" required> <option value="">@ods.getLabel("请选择")</option> <option value="男">@ods.getLabel("男")</option> <option value="女">@ods.getLabel("女")</option> </select> </div> </div> // 保存员工信息 $('#btn-save-employee').click(function () { var formData = { empId: $('#empId').val(), empPhone: $('#empPhone').val(), empEmail: $('#empEmail').val(), empGender: $('#empGender').val(), id: $('#employee_id').val() }; // 表单验证函数 function validateEmployeeForm(data) { // 工号验证 if (!/^\d{3}$/.test(data.empId)) { alert('工号必须是3位数字'); $('#empId').focus(); return false; } // 手机号验证 if (!/^1[3-9]\d{9}$/.test(data.empPhone)) { alert('手机号格式错误,请输入11位有效手机号'); $('#empPhone').focus(); return false; } // 邮箱验证 if (!/^[a-zA-Z0-9._%+-]+[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(data.empEmail)) { alert('邮箱格式错误'); $('#empEmail').focus(); return false; } // 性别验证 if (data.empGender !== '男' && data.empGender !== '女') { alert('性别只能选择男或女'); $('#empGender').focus(); return false; } return true; } // 通用表单提交函数 @*function submitForm(url, data) { $.ajax({ url: url, type: 'POST', contentType: 'application/json', data: JSON.stringify(data), success: function (response) { if (response.success) { alert('操作成功'); $('.modal').modal('hide'); // 刷新页面 location.reload(); } else { alert('操作失败:' + response.message); } }, error: function (xhr, status, error) { alert('请求失败:' + error); } }); }*@ // 实时验证 $('#empId').on('blur', function() { var empId = $(this).val(); if (empId && !/^\d{3}$/.test(empId)) { $(this).addClass('is-invalid'); } else { $(this).removeClass('is-invalid'); } }); $('#empPhone').on('blur', function() { var phone = $(this).val(); if (phone && !/^1[3-9]\d{9}$/.test(phone)) { $(this).addClass('is-invalid'); } else { $(this).removeClass('is-invalid'); } }); $('#empEmail').on('blur', function() { var email = $(this).val(); if (email && !/^[a-zA-Z0-9._%+-]+[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(email)) { $(this).addClass('is-invalid'); } else { $(this).removeClass('is-invalid'); } }); // 模态框关闭时重置表单 @*$('.modal').on('hidden.bs.modal', function () { $(this).find('input').val('').removeClass('is-invalid'); $(this).find('select').val(''); });* 添加信息维护的时候出现了这样的报错(添加失败:The method or operation is not implemented.)该怎么解决
10-23
关于 阿里云盘CLI。仿 Linux shell 文件处理命令的阿里云盘命令行客户端,支持JavaScript插件,支持同步备份功能,支持相册批量下载。 特色 多平台支持, 支持 Windows, macOS, linux(x86/x64/arm), android, iOS 等 阿里云盘多用户支持 支持备份盘,资源库无缝切换 下载网盘内文件, 支持多个文件或目录下载, 支持断点续传和单文件并行下载。支持软链接(符号链接)文件。 上传本地文件, 支持多个文件或目录上传,支持排除指定文件夹/文件(正则表达式)功能。支持软链接(符号链接)文件。 同步备份功能支持备份本地文件到云盘,备份云盘文件到本地,双向同步备份保持本地文件和网盘文件同步。常用于嵌入式或者NAS等设备,支持docker镜像部署。 命令和文件路径输入支持Tab键自动补全,路径支持通配符匹配模式 支持JavaScript插件,你可以按照自己的需要定制上传/下载中关键步骤的行为,最大程度满足自己的个性化需求 支持共享相册的相关操作,支持批量下载相册所有普通照片、实况照片文件到本地 支持多用户联合下载功能,对下载速度有极致追求的用户可以尝试使用该选项。详情请查看文档多用户联合下载 如果大家有打算开通阿里云盘VIP会员,可以使用阿里云盘APP扫描下面的优惠推荐码进行开通。 注意:您需要开通【三方应用权益包】,这样使用本程序下载才能加速,否则下载无法提速。 Windows不第二步打开aliyunpan命令行程序,任何云盘命令都有类似如下日志输出 如何登出和下线客户端 阿里云盘单账户最多只允许同时登录 10 台设备 当出现这个提示:你账号已超出最大登录设备数量,请先下线一台设备,然后重启本应用,才可以继续使用 说明你的账号登录客户端已经超过数量,你需要先登出其他客户端才能继续使用,如下所示
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值