Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Search Results (Searched for: html)

  • Winterwolf
  • Winterwolf's Avatar
05 Mar 2025 04:32 - 05 Mar 2025 04:33
Replied by Winterwolf on topic [[plugin] OAuth2 plugin for Admin Authentication
Détails de l'erreur : GuzzleHttp\Exception\ConnectException::__set_state(array(
'message' => 'cURL error 7: (see curl.haxx.se/libcurl/c/libcurl-errors.html )',
'string' => '',
'code' => 0,
'file' => '/www/plugins/AuthOAuth2/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php',
'line' => 275,
'trace' =>
array (
0 =>
array (
'file' => '/www/plugins/AuthOAuth2/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php',
'line' => 205,
'function' => 'createRejection',
'class' => 'GuzzleHttp\\Handler\\CurlFactory',
'type' => '::',
),
1 =>
array (
'file' => '/www/plugins/AuthOAuth2/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php',
'line' => 157,
'function' => 'finishError',
'class' => 'GuzzleHttp\\Handler\\CurlFactory',
'type' => '::',
),
2 =>
array (
'file' => '/www/plugins/AuthOAuth2/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php',
'line' => 47,
'function' => 'finish',
'class' => 'GuzzleHttp\\Handler\\CurlFactory',
'type' => '::',
),
3 =>
array (
'file' => '/www/plugins/AuthOAuth2/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php',
'line' => 28,
'function' => '__invoke',
'class' => 'GuzzleHttp\\Handler\\CurlHandler',
'type' => '->',
),
4 =>
array (
'file' => '/www/plugins/AuthOAuth2/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php',
'line' => 48,
'function' => 'GuzzleHttp\\Handler\\{closure}',
'class' => 'GuzzleHttp\\Handler\\Proxy',
'type' => '::',
),
5 =>
array (
'file' => '/www/plugins/AuthOAuth2/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php',
'line' => 64,
'function' => 'GuzzleHttp\\Handler\\{closure}',
'class' => 'GuzzleHttp\\Handler\\Proxy',
'type' => '::',
),
6 =>
array (
'file' => '/www/plugins/AuthOAuth2/vendor/guzzlehttp/guzzle/src/Middleware.php',
'line' => 31,
'function' => '__invoke',
'class' => 'GuzzleHttp\\PrepareBodyMiddleware',
'type' => '->',
),
7 =>
array (
'file' => '/www/plugins/AuthOAuth2/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php',
'line' => 71,
'function' => 'GuzzleHttp\\{closure}',
'class' => 'GuzzleHttp\\Middleware',
'type' => '::',
),
8 =>
array (
'file' => '/www/plugins/AuthOAuth2/vendor/guzzlehttp/guzzle/src/Middleware.php',
'line' => 66,
'function' => '__invoke',
'class' => 'GuzzleHttp\\RedirectMiddleware',
'type' => '->',
),
9 =>
array (
'file' => '/www/plugins/AuthOAuth2/vendor/guzzlehttp/guzzle/src/HandlerStack.php',
'line' => 75,
'function' => 'GuzzleHttp\\{closure}',
'class' => 'GuzzleHttp\\Middleware',
'type' => '::',
),
10 =>
array (
'file' => '/www/plugins/AuthOAuth2/vendor/guzzlehttp/guzzle/src/Client.php',
'line' => 333,
'function' => '__invoke',
'class' => 'GuzzleHttp\\HandlerStack',
'type' => '->',
),
11 =>
array (
'file' => '/www/plugins/AuthOAuth2/vendor/guzzlehttp/guzzle/src/Client.php',
'line' => 107,
'function' => 'transfer',
'class' => 'GuzzleHttp\\Client',
'type' => '->',
),
12 =>
array (
'file' => '/www/plugins/AuthOAuth2/vendor/guzzlehttp/guzzle/src/Client.php',
'line' => 124,
'function' => 'sendAsync',
'class' => 'GuzzleHttp\\Client',
'type' => '->',
),
13 =>
array (
'file' => '/www/plugins/AuthOAuth2/vendor/league/oauth2-client/src/Provider/AbstractProvider.php',
'line' => 718,
'function' => 'send',
'class' => 'GuzzleHttp\\Client',
'type' => '->',
),
14 =>
array (
'file' => '/www/plugins/AuthOAuth2/vendor/league/oauth2-client/src/Provider/AbstractProvider.php',
'line' => 733,
'function' => 'getResponse',
'class' => 'League\\OAuth2\\Client\\Provider\\AbstractProvider',
'type' => '->',
),
15 =>
array (
'file' => '/www/plugins/AuthOAuth2/vendor/league/oauth2-client/src/Provider/AbstractProvider.php',
'line' => 646,
'function' => 'getParsedResponse',
'class' => 'League\\OAuth2\\Client\\Provider\\AbstractProvider',
'type' => '->',
),
16 =>
array (
'file' => '/www/plugins/AuthOAuth2/AuthOAuth2.php',
'line' => 371,
'function' => 'getAccessToken',
'class' => 'League\\OAuth2\\Client\\Provider\\AbstractProvider',
'type' => '->',
),
17 =>
array (
'function' => 'beforeLogin',
'class' => 'AuthOAuth2',
'type' => '->',
),
18 =>
array (
'file' => '/www/application/libraries/PluginManager/PluginManager.php',
'line' => 269,
'function' => 'call_user_func',
),
19 =>
array (
'file' => '/www/application/controllers/admin/Authentication.php',
'line' => 115,
'function' => 'dispatchEvent',
'class' => 'LimeSurvey\\PluginManager\\PluginManager',
'type' => '->',
),
20 =>
array (
'file' => '/www/application/controllers/admin/Authentication.php',
'line' => 51,
'function' => 'prepareLogin',
'class' => 'Authentication',
'type' => '::',
),
21 =>
array (
'function' => 'index',
'class' => 'Authentication',
'type' => '->',
),
22 =>
array (
'file' => '/www/vendor/yiisoft/yii/framework/web/actions/CAction.php',
'line' => 114,
'function' => 'invokeArgs',
'class' => 'ReflectionMethod',
'type' => '->',
),
23 =>
array (
'file' => '/www/application/core/SurveyCommonAction.php',
'line' => 83,
'function' => 'runWithParamsInternal',
'class' => 'CAction',
'type' => '->',
),
24 =>
array (
'file' => '/www/vendor/yiisoft/yii/framework/web/CController.php',
'line' => 308,
'function' => 'runWithParams',
'class' => 'SurveyCommonAction',
'type' => '->',
),
25 =>
array (
'file' => '/www/vendor/yiisoft/yii/framework/web/CController.php',
'line' => 286,
'function' => 'runAction',
'class' => 'CController',
'type' => '->',
),
26 =>
array (
'file' => '/www/vendor/yiisoft/yii/framework/web/CController.php',
'line' => 265,
'function' => 'runActionWithFilters',
'class' => 'CController',
'type' => '->',
),
27 =>
array (
'file' => '/www/application/controllers/AdminController.php',
'line' => 204,
'function' => 'run',
'class' => 'CController',
'type' => '->',
),
28 =>
array (
'file' => '/www/vendor/yiisoft/yii/framework/web/CWebApplication.php',
'line' => 282,
'function' => 'run',
'class' => 'AdminController',
'type' => '->',
),
29 =>
array (
'file' => '/www/vendor/yiisoft/yii/framework/web/CWebApplication.php',
'line' => 141,
'function' => 'runController',
'class' => 'CWebApplication',
'type' => '->',
),
30 =>
array (
'file' => '/www/vendor/yiisoft/yii/framework/base/CApplication.php',
'line' => 185,
'function' => 'processRequest',
'class' => 'CWebApplication',
'type' => '->',
),
31 =>
array (
'file' => '/www/index.php',
'line' => 161,
'function' => 'run',
'class' => 'CApplication',
'type' => '->',
),
),
'previous' => NULL,
'request' =>
GuzzleHttp\Psr7\Request::__set_state(array(
'method' => 'POST',
'requestTarget' => NULL,
'uri' =>
GuzzleHttp\Psr7\Uri::__set_state(array(
'scheme' => 'https',
'userInfo' => '',
'host' => 'login.microsoftonline.com',
'port' => NULL,
'path' => '/tenantid/oauth2/v2.0/token',
'query' => '',
'fragment' => '',
'composedComponents' => ' login.microsoftonline.com/tenantid/oauth2/v2.0/token ',
)),
'headers' =>
array (
'Content-Length' =>
array (
0 => '1212',
),
'User-Agent' =>
array (
0 => 'GuzzleHttp/7',
),
'Host' =>
array (
0 => 'login.microsoftonline.com',
),
'content-type' =>
array (
0 => 'application/x-www-form-urlencoded',
),
),
'headerNames' =>
array (
'content-length' => 'Content-Length',
'user-agent' => 'User-Agent',
'host' => 'Host',
'content-type' => 'content-type',
),
'protocol' => '1.1',
'stream' =>
GuzzleHttp\Psr7\Stream::__set_state(array(
'stream' => NULL,
'size' => 1212,
'seekable' => true,
'readable' => true,
'writable' => true,
'uri' => 'php://temp',
'customMetadata' =>
array (
),
)),
)),
'handlerContext' =>
array (
'errno' => 7,
'error' => '',
'appconnect_time' => 0.0,
'url' => ' login.microsoftonline.com/tenantid/oauth2/v2.0/token ',
'content_type' => NULL,
'http_code' => 0,
'header_size' => 0,
'request_size' => 0,
'filetime' => -1,
'ssl_verify_result' => 0,
'redirect_count' => 0,
'total_time' => 0.0018,
'namelookup_time' => 0.00262,
'connect_time' => 0.0,
'pretransfer_time' => 0.0,
'size_upload' => 0.0,
'size_download' => 0.0,
'speed_download' => 0.0,
'speed_upload' => 0.0,
'download_content_length' => -1.0,
'upload_content_length' => -1.0,
'starttransfer_time' => 0.0,
'redirect_time' => 0.0,
'redirect_url' => '',
'primary_ip' => '',
'certinfo' =>
array (
),
'primary_port' => 0,
'local_ip' => '',
'local_port' => 0,
'http_version' => 0,
'protocol' => 0,
'ssl_verifyresult' => 0,
'scheme' => '',
'appconnect_time_us' => 0,
'connect_time_us' => 0,
'namelookup_time_us' => 2620,
'pretransfer_time_us' => 0,
'redirect_time_us' => 0,
'starttransfer_time_us' => 0,
'total_time_us' => 1800,
'curl_version' => '7.76.1',
),
))
  • Winterwolf
  • Winterwolf's Avatar
05 Mar 2025 03:58
Replied by Winterwolf on topic [[plugin] OAuth2 plugin for Admin Authentication
Thanks! I spent the day with the F5 guys. We enabled the possible options in F5.
- SSL offloading
- Add header X-Forwarded-Proto
- Sticky sessions

However, the error persists. With your debug code, it returns the message:
400: Bad request - cURL error 7: (see curl.haxx.se/libcurl/c/libcurl-errors.html ) for login.microsoftonline.com/tenantid/oauth2/v2.0/token
The request cannot be interpreted by the server due to malformed syntax. Please do not repeat the request without modification. If you think this is a server error, please contact Administrator.

I have no more ideas. Will have to go back to LDAP. :(
  • alasun
  • alasun's Avatar
04 Mar 2025 12:45
Code:
[code]    if ($('.input-error').length > 0 || $('.ls-em-error').length > 0 || $('.question-container').length > 0) {
        $('#bootstrap-alert-box-modal').on('hidden.bs.modal', function () {
            var $firstError = ($('.input-error').length > 0) ? $('.input-error').first() : $('.ls-em-error').first();
            var $firstUnanswered = $('.question-container').filter(function () {
                // Check if the question is unanswered
                var $inputs = $(this).find('input, textarea, select');
                var isUnanswered = true;
 
                $inputs.each(function () {
                    if ($(this).is(':checkbox, :radio')) {
                        // If it is a checkbox or radio button, check if at least one option is selected
                        if ($(this).is(':checked')) {
                            isUnanswered = false;
                            return false; // Exit the loop
                        }
                    } else if ($(this).is('select')) {
                        // If it is a dropdown box, check if there is a selected option
                        if ($(this).val()) {
                            isUnanswered = false;
                            return false; // Exit the loop
                        }
                    } else {
                        // If it is an input box or text area, check if there is a value
                        if ($(this).val().trim()) {
                            isUnanswered = false;
                            return false; // Exit the loop
                        }
                    }
                });
 
                return isUnanswered;
            }).first();
 
            // If there is an error, scroll to the error position first; otherwise, scroll to the first unanswered question
            var $target = $firstError.length ? $firstError : $firstUnanswered;
            if ($target.length) {
                var $pixToScroll = $target.offset().top - 100; // Adjust the scroll position
                $('html, body').animate({
                    scrollTop: $pixToScroll + 'px'
                }, 'fast');
 
                // Highlight the target element (optional)
                $target.css('border', '2px solid red');
            }
        });
    }
});
[/code]It requires writing code by users. Doesn't the system have this function built in? Or did I just not find it?
  • alasun
  • alasun's Avatar
04 Mar 2025 02:14
Code:
                 <!-- Start of the main Form--> <form id="limesurvey" name="limesurvey" autocomplete="off" class="survey-form-container form" action="/index.php/577482" method="post"> <input type="hidden" value="WFl3OWxWVXVmbEV1TVBqVXRUZ0pQUHhKYkFjc1FWX2MvM_BbiyWpmvxzmHz3Nr9_A-YKDtvxvsoXVKG8kJESwQ==" name="YII_CSRF_TOKEN" />   <!-- Ajax value --> <!-- Needs to be set by javascript! Because if JavaScript is disabled, ajaxmode will completely fail! -->       <!-- Field Names --> <input type='hidden' name='fieldnames' value='577482X4X24|577482X4X25|577482X4X26|577482X4X27|577482X4X28|577482X4X29|577482X4X30|577482X4X31|577482X4X32|577482X4X33|577482X4X34' id='fieldnames' />   <input id="thisstep" type="hidden" value="2" name="thisstep" /><input id="sid" type="hidden" value="577482" name="sid" /><input id="start_time" type="hidden" value="1741050467" name="start_time" /><input id="LEMpostKey" type="hidden" value="665002237" name="LEMpostKey" />   <!-- Submit button --> <button type="submit" id="defaultbtn" value="default" name="move" class="submit d-none" style="display:none">默认</button> <!-- main form -->   <!-- emScriptsAndHiddenInputs updated --> <input type='hidden' id='relevance24' name='relevance24' value='1'/> <input type='hidden' id='relevance25' name='relevance25' value='1'/> <input type='hidden' id='relevance26' name='relevance26' value='1'/> <input type='hidden' id='relevance27' name='relevance27' value='1'/> <input type='hidden' id='relevance28' name='relevance28' value='1'/> <input type='hidden' id='relevance29' name='relevance29' value='1'/> <input type='hidden' id='relevance30' name='relevance30' value='1'/> <input type='hidden' id='relevance31' name='relevance31' value='1'/> <input type='hidden' id='relevance32' name='relevance32' value='1'/> <input type='hidden' id='relevance33' name='relevance33' value='1'/> <input type='hidden' id='relevance34' name='relevance34' value='1'/> <input type='hidden' id='relevanceG0' name='relevanceG0' value='1'/> <input type='hidden' id='aQuestionsWithDependencies' data-qids='' />       <!-- No JavaScript alert --> <div class=' ls-js-hidden warningjs alert alert-danger ' data-type='checkjavascript'> 请注意:您的浏览器已禁用本站JavaScript。您可能无法回答问卷调查所有的问题。请核实浏览器参数。 </div>       <!-- Welcome Message --> <div id="welcome-container" class="" >   <!-- Survey Name --> <h1 class=" survey-name text-center" > 教师教育情况调查 </h1>   <!-- Survey description --> <div class=" survey-description text-info text-center" > <p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"><span style="font-family:宋体">亲爱的同学们,你们好!</span></span></span></p>   <p style="text-indent:24.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"><span style="font-family:宋体">你的成长一定伴随着老师们艰辛的劳动,相信在老师们孜孜不倦的教育教学和你自己的努力下,你又有了可喜的变化。在你收获成绩、体验成功快乐的时刻,为了你们的健康成长,请你如实回答以下问题,谢谢!</span></span></span></p>   </div>   <!-- Welcome text --> <div class=" survey-welcome h5 text-primary" >   </div>   <!-- Question count --> <div class=" number-of-questions text-muted" > <div class=' question-count-text ' >   本问卷有11个问题。 </div> </div> </div>       <!-- Privacy message -->   <div class=" privacy row" > <div class=" col-12 col-centered" > </div> </div>         <!-- START OF GROUP: 我的第一个问题组 --> <div id='group-0' class=" group-outer-container space-col" >     <div class=" group-container space-col" >     <!-- Group Name -->             <!-- PRESENT THE QUESTIONS --> <!-- Question 24 --> <div id="question24" class="row list-radio mandatory question-container " >       <!-- Question G01Q01 -->     <!-- Question text --> <div class=" question-title-container col-12 " > <!-- Add a visual information + just Mandatory string for aria : can be improved --> <div class="asterisk float-start"> <sup class="text-danger fa fa-asterisk small" aria-hidden='true'></sup> <span class="visually-hidden text-danger">;(此问题为必答问题)</span> </div>     <span class=' text-muted question-number ' > 1 </span>     <div class=" question-text " > <div id="ls-question-text-577482X4X24" class=" ls-label-question " > <span style="font-size:12.0pt"><span style="font-family:宋体">你能感受到该老师的关心爱护吗?</span></span> </div> </div>   </div>       <!-- Survey question help --> <div class=" question-help-container text-info col-12 " >   </div>       <!-- LimeSurvey valid message and help --> <div class=" question-valid-container text-info col-12" > </div>       <!-- Answer --> <div class=" answer-container col-12" >   <!-- List Radio -->   <!-- answer -->     <div class="ls-answers answers-list radio-list row" role="radiogroup" aria-labelledby="ls-question-text-577482X4X24"> <!-- on small screen, each column is full widht, so it look like a single colunm--> <ul class="list-unstyled col-md-12 col-12">   <!-- answer_row --> <li id='javatbd577482X4X24AO01' class='answer-item radio-item' > <input type="radio" value="AO01" name="577482X4X24" id="answer577482X4X24AO01"   onclick="if (document.getElementById('answer577482X4X24othertext') != null) document.getElementById('answer577482X4X24othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X24AO01" class="control-label radio-label"> 经常 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X24AO02' class='answer-item radio-item' > <input type="radio" value="AO02" name="577482X4X24" id="answer577482X4X24AO02"   onclick="if (document.getElementById('answer577482X4X24othertext') != null) document.getElementById('answer577482X4X24othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X24AO02" class="control-label radio-label"> 有时 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X24AO03' class='answer-item radio-item' > <input type="radio" value="AO03" name="577482X4X24" id="answer577482X4X24AO03"   onclick="if (document.getElementById('answer577482X4X24othertext') != null) document.getElementById('answer577482X4X24othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X24AO03" class="control-label radio-label"> 偶尔 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X24AO04' class='answer-item radio-item' > <input type="radio" value="AO04" name="577482X4X24" id="answer577482X4X24AO04"   onclick="if (document.getElementById('answer577482X4X24othertext') != null) document.getElementById('answer577482X4X24othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X24AO04" class="control-label radio-label"> 从不 </label> </li> <!-- end of answer_row --> </ul>   </div> <input id="java577482X4X24" disabled="disabled" type="hidden" value="" name="java577482X4X24" /> <!-- end of answer -->   </div>       <!-- End of question G01Q01 -->   </div> <!-- End of question 24 -->   <!-- Question 25 --> <div id="question25" class="row list-radio mandatory question-container " >       <!-- Question G01Q02 -->     <!-- Question text --> <div class=" question-title-container col-12 " > <!-- Add a visual information + just Mandatory string for aria : can be improved --> <div class="asterisk float-start"> <sup class="text-danger fa fa-asterisk small" aria-hidden='true'></sup> <span class="visually-hidden text-danger">;(此问题为必答问题)</span> </div>     <span class=' text-muted question-number ' > 2 </span>     <div class=" question-text " > <div id="ls-question-text-577482X4X25" class=" ls-label-question " > <span style="font-size:12.0pt"><span style="font-family:宋体">该老师是否有对学生罚站、罚抄、打骂,甚至人格侮辱的情况?</span></span> </div> </div>   </div>       <!-- Survey question help --> <div class=" question-help-container text-info col-12 " >   </div>       <!-- LimeSurvey valid message and help --> <div class=" question-valid-container text-info col-12" > <div class="ls-questionhelp " role="alert" id="vmsg_25" > <div id='vmsg_25_default' class='ls-question-message ls-em-tip em_default'> 请选择一个符合的选项 </div>   </div> </div>       <!-- Answer --> <div class=" answer-container col-12" >   <!-- List Radio -->   <!-- answer -->     <div class="ls-answers answers-list radio-list row" role="radiogroup" aria-labelledby="ls-question-text-577482X4X25"> <!-- on small screen, each column is full widht, so it look like a single colunm--> <ul class="list-unstyled col-md-12 col-12">   <!-- answer_row --> <li id='javatbd577482X4X25AO01' class='answer-item radio-item' > <input type="radio" value="AO01" name="577482X4X25" id="answer577482X4X25AO01"   onclick="if (document.getElementById('answer577482X4X25othertext') != null) document.getElementById('answer577482X4X25othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X25AO01" class="control-label radio-label"> 没有 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X25AO02' class='answer-item radio-item' > <input type="radio" value="AO02" name="577482X4X25" id="answer577482X4X25AO02"   onclick="if (document.getElementById('answer577482X4X25othertext') != null) document.getElementById('answer577482X4X25othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X25AO02" class="control-label radio-label"> 偶尔 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X25AO03' class='answer-item radio-item' > <input type="radio" value="AO03" name="577482X4X25" id="answer577482X4X25AO03"   onclick="if (document.getElementById('answer577482X4X25othertext') != null) document.getElementById('answer577482X4X25othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X25AO03" class="control-label radio-label"> 有时 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X25AO04' class='answer-item radio-item' > <input type="radio" value="AO04" name="577482X4X25" id="answer577482X4X25AO04"   onclick="if (document.getElementById('answer577482X4X25othertext') != null) document.getElementById('answer577482X4X25othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X25AO04" class="control-label radio-label"> 经常 </label> </li> <!-- end of answer_row --> </ul>   </div> <input id="java577482X4X25" disabled="disabled" type="hidden" value="" name="java577482X4X25" /> <!-- end of answer -->   </div>       <!-- End of question G01Q02 -->   </div> <!-- End of question 25 -->   <!-- Question 26 --> <div id="question26" class="row list-radio mandatory question-container " >       <!-- Question G01Q03 -->     <!-- Question text --> <div class=" question-title-container col-12 " > <!-- Add a visual information + just Mandatory string for aria : can be improved --> <div class="asterisk float-start"> <sup class="text-danger fa fa-asterisk small" aria-hidden='true'></sup> <span class="visually-hidden text-danger">;(此问题为必答问题)</span> </div>     <span class=' text-muted question-number ' > 3 </span>     <div class=" question-text " > <div id="ls-question-text-577482X4X26" class=" ls-label-question " > <span style="font-size:12.0pt"><span style="font-family:宋体">该老师是否及时对个别学生违纪违规的行为进行耐心、严肃地批评教育?</span></span> </div> </div>   </div>       <!-- Survey question help --> <div class=" question-help-container text-info col-12 " >   </div>       <!-- LimeSurvey valid message and help --> <div class=" question-valid-container text-info col-12" > <div class="ls-questionhelp " role="alert" id="vmsg_26" > <div id='vmsg_26_default' class='ls-question-message ls-em-tip em_default'> 请选择一个符合的选项 </div>   </div> </div>       <!-- Answer --> <div class=" answer-container col-12" >   <!-- List Radio -->   <!-- answer -->     <div class="ls-answers answers-list radio-list row" role="radiogroup" aria-labelledby="ls-question-text-577482X4X26"> <!-- on small screen, each column is full widht, so it look like a single colunm--> <ul class="list-unstyled col-md-12 col-12">   <!-- answer_row --> <li id='javatbd577482X4X26AO01' class='answer-item radio-item' > <input type="radio" value="AO01" name="577482X4X26" id="answer577482X4X26AO01"   onclick="if (document.getElementById('answer577482X4X26othertext') != null) document.getElementById('answer577482X4X26othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X26AO01" class="control-label radio-label"> 经常 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X26AO02' class='answer-item radio-item' > <input type="radio" value="AO02" name="577482X4X26" id="answer577482X4X26AO02"   onclick="if (document.getElementById('answer577482X4X26othertext') != null) document.getElementById('answer577482X4X26othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X26AO02" class="control-label radio-label"> 有时 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X26AO03' class='answer-item radio-item' > <input type="radio" value="AO03" name="577482X4X26" id="answer577482X4X26AO03"   onclick="if (document.getElementById('answer577482X4X26othertext') != null) document.getElementById('answer577482X4X26othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X26AO03" class="control-label radio-label"> 偶尔 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X26AO04' class='answer-item radio-item' > <input type="radio" value="AO04" name="577482X4X26" id="answer577482X4X26AO04"   onclick="if (document.getElementById('answer577482X4X26othertext') != null) document.getElementById('answer577482X4X26othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X26AO04" class="control-label radio-label"> 从不 </label> </li> <!-- end of answer_row --> </ul>   </div> <input id="java577482X4X26" disabled="disabled" type="hidden" value="" name="java577482X4X26" /> <!-- end of answer -->   </div>       <!-- End of question G01Q03 -->   </div> <!-- End of question 26 -->   <!-- Question 27 --> <div id="question27" class="row list-radio mandatory question-container " >       <!-- Question G01Q04 -->     <!-- Question text --> <div class=" question-title-container col-12 " > <!-- Add a visual information + just Mandatory string for aria : can be improved --> <div class="asterisk float-start"> <sup class="text-danger fa fa-asterisk small" aria-hidden='true'></sup> <span class="visually-hidden text-danger">;(此问题为必答问题)</span> </div>     <span class=' text-muted question-number ' > 4 </span>     <div class=" question-text " > <div id="ls-question-text-577482X4X27" class=" ls-label-question " > <span style="font-size:12.0pt"><span style="font-family:宋体">该老师是否能够按时下课不拖堂?</span></span> </div> </div>   </div>       <!-- Survey question help --> <div class=" question-help-container text-info col-12 " >   </div>       <!-- LimeSurvey valid message and help --> <div class=" question-valid-container text-info col-12" > <div class="ls-questionhelp " role="alert" id="vmsg_27" > <div id='vmsg_27_default' class='ls-question-message ls-em-tip em_default'> 请选择一个符合的选项 </div>   </div> </div>       <!-- Answer --> <div class=" answer-container col-12" >   <!-- List Radio -->   <!-- answer -->     <div class="ls-answers answers-list radio-list row" role="radiogroup" aria-labelledby="ls-question-text-577482X4X27"> <!-- on small screen, each column is full widht, so it look like a single colunm--> <ul class="list-unstyled col-md-12 col-12">   <!-- answer_row --> <li id='javatbd577482X4X27AO01' class='answer-item radio-item' > <input type="radio" value="AO01" name="577482X4X27" id="answer577482X4X27AO01"   onclick="if (document.getElementById('answer577482X4X27othertext') != null) document.getElementById('answer577482X4X27othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X27AO01" class="control-label radio-label"> 经常 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X27AO02' class='answer-item radio-item' > <input type="radio" value="AO02" name="577482X4X27" id="answer577482X4X27AO02"   onclick="if (document.getElementById('answer577482X4X27othertext') != null) document.getElementById('answer577482X4X27othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X27AO02" class="control-label radio-label"> 有时 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X27AO03' class='answer-item radio-item' > <input type="radio" value="AO03" name="577482X4X27" id="answer577482X4X27AO03"   onclick="if (document.getElementById('answer577482X4X27othertext') != null) document.getElementById('answer577482X4X27othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X27AO03" class="control-label radio-label"> 偶尔 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X27AO04' class='answer-item radio-item' > <input type="radio" value="AO04" name="577482X4X27" id="answer577482X4X27AO04"   onclick="if (document.getElementById('answer577482X4X27othertext') != null) document.getElementById('answer577482X4X27othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X27AO04" class="control-label radio-label"> 从不 </label> </li> <!-- end of answer_row --> </ul>   </div> <input id="java577482X4X27" disabled="disabled" type="hidden" value="" name="java577482X4X27" /> <!-- end of answer -->   </div>       <!-- End of question G01Q04 -->   </div> <!-- End of question 27 -->   <!-- Question 28 --> <div id="question28" class="row list-radio mandatory question-container " >       <!-- Question G01Q05 -->     <!-- Question text --> <div class=" question-title-container col-12 " > <!-- Add a visual information + just Mandatory string for aria : can be improved --> <div class="asterisk float-start"> <sup class="text-danger fa fa-asterisk small" aria-hidden='true'></sup> <span class="visually-hidden text-danger">;(此问题为必答问题)</span> </div>     <span class=' text-muted question-number ' > 5 </span>     <div class=" question-text " > <div id="ls-question-text-577482X4X28" class=" ls-label-question " > <span style="font-size:12.0pt"><span style="font-family:宋体">你对该老师的课堂管理是否满意?</span></span> </div> </div>   </div>       <!-- Survey question help --> <div class=" question-help-container text-info col-12 " >   </div>       <!-- LimeSurvey valid message and help --> <div class=" question-valid-container text-info col-12" > <div class="ls-questionhelp " role="alert" id="vmsg_28" > <div id='vmsg_28_default' class='ls-question-message ls-em-tip em_default'> 请选择一个符合的选项 </div>   </div> </div>       <!-- Answer --> <div class=" answer-container col-12" >   <!-- List Radio -->   <!-- answer -->     <div class="ls-answers answers-list radio-list row" role="radiogroup" aria-labelledby="ls-question-text-577482X4X28"> <!-- on small screen, each column is full widht, so it look like a single colunm--> <ul class="list-unstyled col-md-12 col-12">   <!-- answer_row --> <li id='javatbd577482X4X28AO01' class='answer-item radio-item' > <input type="radio" value="AO01" name="577482X4X28" id="answer577482X4X28AO01"   onclick="if (document.getElementById('answer577482X4X28othertext') != null) document.getElementById('answer577482X4X28othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X28AO01" class="control-label radio-label"> 满意 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X28AO02' class='answer-item radio-item' > <input type="radio" value="AO02" name="577482X4X28" id="answer577482X4X28AO02"   onclick="if (document.getElementById('answer577482X4X28othertext') != null) document.getElementById('answer577482X4X28othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X28AO02" class="control-label radio-label"> 较满意 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X28AO03' class='answer-item radio-item' > <input type="radio" value="AO03" name="577482X4X28" id="answer577482X4X28AO03"   onclick="if (document.getElementById('answer577482X4X28othertext') != null) document.getElementById('answer577482X4X28othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X28AO03" class="control-label radio-label"> 一般 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X28AO04' class='answer-item radio-item' > <input type="radio" value="AO04" name="577482X4X28" id="answer577482X4X28AO04"   onclick="if (document.getElementById('answer577482X4X28othertext') != null) document.getElementById('answer577482X4X28othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X28AO04" class="control-label radio-label"> 不满意 </label> </li> <!-- end of answer_row --> </ul>   </div> <input id="java577482X4X28" disabled="disabled" type="hidden" value="" name="java577482X4X28" /> <!-- end of answer -->   </div>       <!-- End of question G01Q05 -->   </div> <!-- End of question 28 -->   <!-- Question 29 --> <div id="question29" class="row list-radio mandatory question-container " >       <!-- Question G01Q06 -->     <!-- Question text --> <div class=" question-title-container col-12 " > <!-- Add a visual information + just Mandatory string for aria : can be improved --> <div class="asterisk float-start"> <sup class="text-danger fa fa-asterisk small" aria-hidden='true'></sup> <span class="visually-hidden text-danger">;(此问题为必答问题)</span> </div>     <span class=' text-muted question-number ' > 6 </span>     <div class=" question-text " > <div id="ls-question-text-577482X4X29" class=" ls-label-question " > <span style="font-size:12.0pt"><span style="font-family:宋体">你对该老师的教学素养(语言规范,表达清晰,板书工整合理)是否满意?</span></span> </div> </div>   </div>       <!-- Survey question help --> <div class=" question-help-container text-info col-12 " >   </div>       <!-- LimeSurvey valid message and help --> <div class=" question-valid-container text-info col-12" > <div class="ls-questionhelp " role="alert" id="vmsg_29" > <div id='vmsg_29_default' class='ls-question-message ls-em-tip em_default'> 请选择一个符合的选项 </div>   </div> </div>       <!-- Answer --> <div class=" answer-container col-12" >   <!-- List Radio -->   <!-- answer -->     <div class="ls-answers answers-list radio-list row" role="radiogroup" aria-labelledby="ls-question-text-577482X4X29"> <!-- on small screen, each column is full widht, so it look like a single colunm--> <ul class="list-unstyled col-md-12 col-12">   <!-- answer_row --> <li id='javatbd577482X4X29AO01' class='answer-item radio-item' > <input type="radio" value="AO01" name="577482X4X29" id="answer577482X4X29AO01"   onclick="if (document.getElementById('answer577482X4X29othertext') != null) document.getElementById('answer577482X4X29othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X29AO01" class="control-label radio-label"> 满意 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X29AO02' class='answer-item radio-item' > <input type="radio" value="AO02" name="577482X4X29" id="answer577482X4X29AO02"   onclick="if (document.getElementById('answer577482X4X29othertext') != null) document.getElementById('answer577482X4X29othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X29AO02" class="control-label radio-label"> 较满意 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X29AO03' class='answer-item radio-item' > <input type="radio" value="AO03" name="577482X4X29" id="answer577482X4X29AO03"   onclick="if (document.getElementById('answer577482X4X29othertext') != null) document.getElementById('answer577482X4X29othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X29AO03" class="control-label radio-label"> 一般 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X29AO04' class='answer-item radio-item' > <input type="radio" value="AO04" name="577482X4X29" id="answer577482X4X29AO04"   onclick="if (document.getElementById('answer577482X4X29othertext') != null) document.getElementById('answer577482X4X29othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X29AO04" class="control-label radio-label"> 不满意 </label> </li> <!-- end of answer_row --> </ul>   </div> <input id="java577482X4X29" disabled="disabled" type="hidden" value="" name="java577482X4X29" /> <!-- end of answer -->   </div>       <!-- End of question G01Q06 -->   </div> <!-- End of question 29 -->   <!-- Question 30 --> <div id="question30" class="row list-radio mandatory question-container " >       <!-- Question G01Q07 -->     <!-- Question text --> <div class=" question-title-container col-12 " > <!-- Add a visual information + just Mandatory string for aria : can be improved --> <div class="asterisk float-start"> <sup class="text-danger fa fa-asterisk small" aria-hidden='true'></sup> <span class="visually-hidden text-danger">;(此问题为必答问题)</span> </div>     <span class=' text-muted question-number ' > 7 </span>     <div class=" question-text " > <div id="ls-question-text-577482X4X30" class=" ls-label-question " > <span style="font-size:12.0pt"><span style="font-family:宋体">该老师的知识讲解是否清晰?</span></span> </div> </div>   </div>       <!-- Survey question help --> <div class=" question-help-container text-info col-12 " >   </div>       <!-- LimeSurvey valid message and help --> <div class=" question-valid-container text-info col-12" > <div class="ls-questionhelp " role="alert" id="vmsg_30" > <div id='vmsg_30_default' class='ls-question-message ls-em-tip em_default'> 请选择一个符合的选项 </div>   </div> </div>       <!-- Answer --> <div class=" answer-container col-12" >   <!-- List Radio -->   <!-- answer -->     <div class="ls-answers answers-list radio-list row" role="radiogroup" aria-labelledby="ls-question-text-577482X4X30"> <!-- on small screen, each column is full widht, so it look like a single colunm--> <ul class="list-unstyled col-md-12 col-12">   <!-- answer_row --> <li id='javatbd577482X4X30AO01' class='answer-item radio-item' > <input type="radio" value="AO01" name="577482X4X30" id="answer577482X4X30AO01"   onclick="if (document.getElementById('answer577482X4X30othertext') != null) document.getElementById('answer577482X4X30othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X30AO01" class="control-label radio-label"> 满意 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X30AO02' class='answer-item radio-item' > <input type="radio" value="AO02" name="577482X4X30" id="answer577482X4X30AO02"   onclick="if (document.getElementById('answer577482X4X30othertext') != null) document.getElementById('answer577482X4X30othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X30AO02" class="control-label radio-label"> 较满意 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X30AO03' class='answer-item radio-item' > <input type="radio" value="AO03" name="577482X4X30" id="answer577482X4X30AO03"   onclick="if (document.getElementById('answer577482X4X30othertext') != null) document.getElementById('answer577482X4X30othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X30AO03" class="control-label radio-label"> 一般 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X30AO04' class='answer-item radio-item' > <input type="radio" value="AO04" name="577482X4X30" id="answer577482X4X30AO04"   onclick="if (document.getElementById('answer577482X4X30othertext') != null) document.getElementById('answer577482X4X30othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X30AO04" class="control-label radio-label"> 不满意 </label> </li> <!-- end of answer_row --> </ul>   </div> <input id="java577482X4X30" disabled="disabled" type="hidden" value="" name="java577482X4X30" /> <!-- end of answer -->   </div>       <!-- End of question G01Q07 -->   </div> <!-- End of question 30 -->   <!-- Question 31 --> <div id="question31" class="row list-radio mandatory question-container " >       <!-- Question G01Q08 -->     <!-- Question text --> <div class=" question-title-container col-12 " > <!-- Add a visual information + just Mandatory string for aria : can be improved --> <div class="asterisk float-start"> <sup class="text-danger fa fa-asterisk small" aria-hidden='true'></sup> <span class="visually-hidden text-danger">;(此问题为必答问题)</span> </div>     <span class=' text-muted question-number ' > 8 </span>     <div class=" question-text " > <div id="ls-question-text-577482X4X31" class=" ls-label-question " > <span style="font-size:12.0pt"><span style="font-family:宋体">该老师的教学能否激发你的学习兴趣? </span></span> </div> </div>   </div>       <!-- Survey question help --> <div class=" question-help-container text-info col-12 " >   </div>       <!-- LimeSurvey valid message and help --> <div class=" question-valid-container text-info col-12" > <div class="ls-questionhelp " role="alert" id="vmsg_31" > <div id='vmsg_31_default' class='ls-question-message ls-em-tip em_default'> 请选择一个符合的选项 </div>   </div> </div>       <!-- Answer --> <div class=" answer-container col-12" >   <!-- List Radio -->   <!-- answer -->     <div class="ls-answers answers-list radio-list row" role="radiogroup" aria-labelledby="ls-question-text-577482X4X31"> <!-- on small screen, each column is full widht, so it look like a single colunm--> <ul class="list-unstyled col-md-12 col-12">   <!-- answer_row --> <li id='javatbd577482X4X31AO01' class='answer-item radio-item' > <input type="radio" value="AO01" name="577482X4X31" id="answer577482X4X31AO01"   onclick="if (document.getElementById('answer577482X4X31othertext') != null) document.getElementById('answer577482X4X31othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X31AO01" class="control-label radio-label"> 经常 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X31AO02' class='answer-item radio-item' > <input type="radio" value="AO02" name="577482X4X31" id="answer577482X4X31AO02"   onclick="if (document.getElementById('answer577482X4X31othertext') != null) document.getElementById('answer577482X4X31othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X31AO02" class="control-label radio-label"> 有时 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X31AO03' class='answer-item radio-item' > <input type="radio" value="AO03" name="577482X4X31" id="answer577482X4X31AO03"   onclick="if (document.getElementById('answer577482X4X31othertext') != null) document.getElementById('answer577482X4X31othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X31AO03" class="control-label radio-label"> 偶尔 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X31AO04' class='answer-item radio-item' > <input type="radio" value="AO04" name="577482X4X31" id="answer577482X4X31AO04"   onclick="if (document.getElementById('answer577482X4X31othertext') != null) document.getElementById('answer577482X4X31othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X31AO04" class="control-label radio-label"> 从不 </label> </li> <!-- end of answer_row --> </ul>   </div> <input id="java577482X4X31" disabled="disabled" type="hidden" value="" name="java577482X4X31" /> <!-- end of answer -->   </div>       <!-- End of question G01Q08 -->   </div> <!-- End of question 31 -->   <!-- Question 32 --> <div id="question32" class="row list-radio mandatory question-container " >       <!-- Question G01Q09 -->     <!-- Question text --> <div class=" question-title-container col-12 " > <!-- Add a visual information + just Mandatory string for aria : can be improved --> <div class="asterisk float-start"> <sup class="text-danger fa fa-asterisk small" aria-hidden='true'></sup> <span class="visually-hidden text-danger">;(此问题为必答问题)</span> </div>     <span class=' text-muted question-number ' > 9 </span>     <div class=" question-text " > <div id="ls-question-text-577482X4X32" class=" ls-label-question " > <span style="font-size:12.0pt"><span style="font-family:宋体">老师会认真批改你的作业吗?</span></span> </div> </div>   </div>       <!-- Survey question help --> <div class=" question-help-container text-info col-12 " >   </div>       <!-- LimeSurvey valid message and help --> <div class=" question-valid-container text-info col-12" > <div class="ls-questionhelp " role="alert" id="vmsg_32" > <div id='vmsg_32_default' class='ls-question-message ls-em-tip em_default'> 请选择一个符合的选项 </div>   </div> </div>       <!-- Answer --> <div class=" answer-container col-12" >   <!-- List Radio -->   <!-- answer -->     <div class="ls-answers answers-list radio-list row" role="radiogroup" aria-labelledby="ls-question-text-577482X4X32"> <!-- on small screen, each column is full widht, so it look like a single colunm--> <ul class="list-unstyled col-md-12 col-12">   <!-- answer_row --> <li id='javatbd577482X4X32AO01' class='answer-item radio-item' > <input type="radio" value="AO01" name="577482X4X32" id="answer577482X4X32AO01"   onclick="if (document.getElementById('answer577482X4X32othertext') != null) document.getElementById('answer577482X4X32othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X32AO01" class="control-label radio-label"> 经常 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X32AO02' class='answer-item radio-item' > <input type="radio" value="AO02" name="577482X4X32" id="answer577482X4X32AO02"   onclick="if (document.getElementById('answer577482X4X32othertext') != null) document.getElementById('answer577482X4X32othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X32AO02" class="control-label radio-label"> 有时 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X32AO03' class='answer-item radio-item' > <input type="radio" value="AO03" name="577482X4X32" id="answer577482X4X32AO03"   onclick="if (document.getElementById('answer577482X4X32othertext') != null) document.getElementById('answer577482X4X32othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X32AO03" class="control-label radio-label"> 偶尔 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X32AO04' class='answer-item radio-item' > <input type="radio" value="AO04" name="577482X4X32" id="answer577482X4X32AO04"   onclick="if (document.getElementById('answer577482X4X32othertext') != null) document.getElementById('answer577482X4X32othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X32AO04" class="control-label radio-label"> 从不 </label> </li> <!-- end of answer_row --> </ul>   </div> <input id="java577482X4X32" disabled="disabled" type="hidden" value="" name="java577482X4X32" /> <!-- end of answer -->   </div>       <!-- End of question G01Q09 -->   </div> <!-- End of question 32 -->   <!-- Question 33 --> <div id="question33" class="row list-radio mandatory question-container " >       <!-- Question G01Q10 -->     <!-- Question text --> <div class=" question-title-container col-12 " > <!-- Add a visual information + just Mandatory string for aria : can be improved --> <div class="asterisk float-start"> <sup class="text-danger fa fa-asterisk small" aria-hidden='true'></sup> <span class="visually-hidden text-danger">;(此问题为必答问题)</span> </div>     <span class=' text-muted question-number ' > 10 </span>     <div class=" question-text " > <div id="ls-question-text-577482X4X33" class=" ls-label-question " > <span style="font-size:12.0pt"><span style="font-family:宋体">老师会耐心、细致解答你的疑问或进行课外辅导吗?</span></span> </div> </div>   </div>       <!-- Survey question help --> <div class=" question-help-container text-info col-12 " >   </div>       <!-- LimeSurvey valid message and help --> <div class=" question-valid-container text-info col-12" > <div class="ls-questionhelp " role="alert" id="vmsg_33" > <div id='vmsg_33_default' class='ls-question-message ls-em-tip em_default'> 请选择一个符合的选项 </div>   </div> </div>       <!-- Answer --> <div class=" answer-container col-12" >   <!-- List Radio -->   <!-- answer -->     <div class="ls-answers answers-list radio-list row" role="radiogroup" aria-labelledby="ls-question-text-577482X4X33"> <!-- on small screen, each column is full widht, so it look like a single colunm--> <ul class="list-unstyled col-md-12 col-12">   <!-- answer_row --> <li id='javatbd577482X4X33AO01' class='answer-item radio-item' > <input type="radio" value="AO01" name="577482X4X33" id="answer577482X4X33AO01"   onclick="if (document.getElementById('answer577482X4X33othertext') != null) document.getElementById('answer577482X4X33othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X33AO01" class="control-label radio-label"> 经常 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X33AO02' class='answer-item radio-item' > <input type="radio" value="AO02" name="577482X4X33" id="answer577482X4X33AO02"   onclick="if (document.getElementById('answer577482X4X33othertext') != null) document.getElementById('answer577482X4X33othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X33AO02" class="control-label radio-label"> 有时 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X33AO03' class='answer-item radio-item' > <input type="radio" value="AO03" name="577482X4X33" id="answer577482X4X33AO03"   onclick="if (document.getElementById('answer577482X4X33othertext') != null) document.getElementById('answer577482X4X33othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X33AO03" class="control-label radio-label"> 偶尔 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X33AO04' class='answer-item radio-item' > <input type="radio" value="AO04" name="577482X4X33" id="answer577482X4X33AO04"   onclick="if (document.getElementById('answer577482X4X33othertext') != null) document.getElementById('answer577482X4X33othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X33AO04" class="control-label radio-label"> 从不 </label> </li> <!-- end of answer_row --> </ul>   </div> <input id="java577482X4X33" disabled="disabled" type="hidden" value="" name="java577482X4X33" /> <!-- end of answer -->   </div>       <!-- End of question G01Q10 -->   </div> <!-- End of question 33 -->   <!-- Question 34 --> <div id="question34" class="row list-radio mandatory question-container " >       <!-- Question G01Q11 -->     <!-- Question text --> <div class=" question-title-container col-12 " > <!-- Add a visual information + just Mandatory string for aria : can be improved --> <div class="asterisk float-start"> <sup class="text-danger fa fa-asterisk small" aria-hidden='true'></sup> <span class="visually-hidden text-danger">;(此问题为必答问题)</span> </div>     <span class=' text-muted question-number ' > 11 </span>     <div class=" question-text " > <div id="ls-question-text-577482X4X34" class=" ls-label-question " > <span style="font-size:12.0pt"><span style="font-family:宋体">你对老师的总体评价如何?</span></span> </div> </div>   </div>       <!-- Survey question help --> <div class=" question-help-container text-info col-12 " >   </div>       <!-- LimeSurvey valid message and help --> <div class=" question-valid-container text-info col-12" > <div class="ls-questionhelp " role="alert" id="vmsg_34" > <div id='vmsg_34_default' class='ls-question-message ls-em-tip em_default'> 请选择一个符合的选项 </div>   </div> </div>       <!-- Answer --> <div class=" answer-container col-12" >   <!-- List Radio -->   <!-- answer -->     <div class="ls-answers answers-list radio-list row" role="radiogroup" aria-labelledby="ls-question-text-577482X4X34"> <!-- on small screen, each column is full widht, so it look like a single colunm--> <ul class="list-unstyled col-md-12 col-12">   <!-- answer_row --> <li id='javatbd577482X4X34AO01' class='answer-item radio-item' > <input type="radio" value="AO01" name="577482X4X34" id="answer577482X4X34AO01"   onclick="if (document.getElementById('answer577482X4X34othertext') != null) document.getElementById('answer577482X4X34othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X34AO01" class="control-label radio-label"> 满意 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X34AO02' class='answer-item radio-item' > <input type="radio" value="AO02" name="577482X4X34" id="answer577482X4X34AO02"   onclick="if (document.getElementById('answer577482X4X34othertext') != null) document.getElementById('answer577482X4X34othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X34AO02" class="control-label radio-label"> 较满意 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X34AO03' class='answer-item radio-item' > <input type="radio" value="AO03" name="577482X4X34" id="answer577482X4X34AO03"   onclick="if (document.getElementById('answer577482X4X34othertext') != null) document.getElementById('answer577482X4X34othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X34AO03" class="control-label radio-label"> 一般 </label> </li> <!-- end of answer_row -->   <!-- answer_row --> <li id='javatbd577482X4X34AO04' class='answer-item radio-item' > <input type="radio" value="AO04" name="577482X4X34" id="answer577482X4X34AO04"   onclick="if (document.getElementById('answer577482X4X34othertext') != null) document.getElementById('answer577482X4X34othertext').value='';checkconditions(this.value, this.name, this.type)" /> <label for="answer577482X4X34AO04" class="control-label radio-label"> 不满意 </label> </li> <!-- end of answer_row --> </ul>   </div> <input id="java577482X4X34" disabled="disabled" type="hidden" value="" name="java577482X4X34" /> <!-- end of answer -->   </div>       <!-- End of question G01Q11 -->   </div> <!-- End of question 34 -->     <!-- Hidden inputs -->   </div>     </div> <!-- END OF GROUP: 我的第一个问题组 -->         <!-- PRESENT THE NAVIGATOR --> <div class=" row navigator space-col" id="navigator-container" >   <!-- Previous button container --> <div class=" col-6 text-start" >   </div> <div class=" col-6 text-end">     <!-- Button submit --> <button id="ls-button-submit" type="submit" value="movesubmit" name="move" accesskey="n" class=" ls-move-btn ls-move-submit-btn action--ls-button-submit btn btn-lg btn-primary"> 提交 </button> </div> </div> <!-- Extra navigator part --> <!-- extra tools, can be shown with javascript too (just remove ls-js-hidden class --> <div class="row ls-js-hidden"> <!-- Extra button container --> <div class="col-6 clearall-saveall-wrapper">   <div class=""> <div class=""> <label class="col-form-label fw-bold ls-js-hidden"> <input value="confirm" name="confirm-clearall" type="checkbox" class="me-2 "><span class="control-label">请确认真得要清除您的回答吗?</span> </label> <button type="submit" name="clearall" value="clearall" data-confirmedby="confirm-clearall" class="ls-clearaction ls-clearall btn btn-link" title="需确认此操作。">退出并清除调查</button> </div> </div>   </div> <!-- Index container --> </div>         </form> <!-- main form -->       </div> <!-- main col --> </div> <!-- main row --> </div>         <!-- Bootstrap Modal Alert --> <div id="bootstrap-alert-box-modal" class=" modal fade " > <div class=" modal-dialog " > <div class=" modal-content " > <div class=" modal-header " style="min-height:40px;" > <button type="button" data-bs-dismiss="modal" aria-hidden="true" class=" btn-close " ></button> <div class=" modal-title" > </div> </div> <div class=" modal-body " > </div> <div class=" modal-footer " > <a href="[url=http://wondershare.com/index.php/577482?lang=zh-Hans#]#[/url]" data-bs-dismiss="modal" class=" btn btn-outline-secondary ">关闭</a> </div> </div> </div> </div>         </div>   </article>   <div id="bottomScripts" class="script-container"> <script type="text/javascript" src="[url=http://wondershare.com/tmp/assets/5347d509/build/embeddables.min.js]/tmp/assets/5347d509/build/embeddables.min.js[/url]"></script> <script type="text/javascript"> /*<![CDATA[*/   if(window.basicThemeScripts === undefined){ window.basicThemeScripts = new ThemeScripts(); } basicThemeScripts.initGlobal();     try{ triggerEmClassChange(); } catch(e) { console.ls.warn('triggerEmClassChange could not be run. Is survey.js/old_template_core_pre.js correctly loaded?'); }   triggerEmRelevance(); jQuery(document).off('pjax:scriptcomplete.mainBottom').on('ready pjax:scriptcomplete.mainBottom', function() { activateActionLink(); activateConfirmButton();   $('#limesurvey').append('<input type="hidden" name="ajax" value="off" id="ajax" />');   updateMandatoryErrorClass(); }); /*]]>*/ </script>   </div>     <script> window.basicThemeScripts.init(); </script>   </body> </html>  
How can i close the modal?Where can i find it?
  • alasun
  • alasun's Avatar
03 Mar 2025 03:41
// Scroll to first error - After user close modal -
if ($('.input-error').length > 0 || $('.ls-em-error').length > 0) {
$('#bootstrap-alert-box-modal').on('hidden.bs.modal', function () {

var $firstError = ($('.input-error').length > 0) ? $('.input-error').first() : $('.ls-em-error').first();

var $pixToScroll = ($firstError.offset().top - 100);
$('html, body').animate({
scrollTop: $pixToScroll + 'px'
}, 'fast');
});
}

where can i close modal ?I can not find it.
  • DenisChenu
  • DenisChenu's Avatar
28 Feb 2025 12:02
Replied by DenisChenu on topic Dashboard without boxes/tiles

After some consideration, we created a Sea Green child theme and implemented the boxes with JavaScript

 
I have to update gitlab.com/SondagesPro/coreAndTools/AdminBanner to allow to add it on new version …

After can add any HTML (filtered) at home page + Surey listing (in option)
 
Updated and tested
  • Joffm
  • Joffm's Avatar
25 Feb 2025 17:10
Was ist denn jetzt überhaupt Dein Problem?
Der Button?

weil es einfach nicht mitgenommen wird, wie ich zuletzt schon geschrieben habe.

Dann füge das script doch einmal in die "Fehler"-Frage ein speichere die Frage und exportiere die Umfrage als lss.
Code:
<style type="text/css">
.fehler #ls-button-submit {
    display: none !important;
}
</style>

sollte hier evtl. der 'Quellcode-Editor' aktiviert sein, damit alles OK ist?

Das ist doch längst obsolet.
Der Quellcode-Editor ist eben dann besser, wenn es um HTML-tags in Expressions geht (besonders <p></p> und <br/>, aber auch geschachtelte doppelte bzw. einfache Anführungszeichen).
Da meint der WYSIWYG-Editor manchmal, diese interpretieren zu müssen.

Wegen BETA wahrscheinlich noch nicht oder?

Natürlich ist es nicht stabil. Aus diesem Grunde solltest Du es ausprobieren, und Fehler, Wünsche und Sonstiges mitteilen.
Dafür gibt es unten links den Button mit Sternchen "Feedback"

Joffm
 
  • Balrog
  • Balrog's Avatar
25 Feb 2025 14:56
Ja, ich möchte in der 'Fehler'-Frage den Absenden Button ausblenden, der Code fehlt einfach, weil es einfach nicht mitgenommen wird, wie ich zuletzt schon geschrieben habe. Vielleicht ist es ein Bug, aber ich glaube nicht, weil dann viele User betroffen wären und ihr wüsstet sicher schon darüber. 

AS008 ist in Ordnung, die habe ich bereits auswerten können - denke ich zumindest, dass die aktuellen Codes das so durchführen - die Punkte wurden zumindest richtig berechnet bisher. Das von dir genannte Plugin ist bei uns bereits aktiviert, das habe ich schon letztes Jahr gemacht. 

Editor: 
Im Konto sind die Einstellungen wie im angehängten Bild gesetzt.
- Vorlageneditor ist erweitert gewählt
- HTML Editor Modus ist 'Voreinstellung' - also ich nehme an, von unserem Hauptadmin gesetzt, weiß aber nicht was genau --> sollte hier evtl. der 'Quellcode-Editor' aktiviert sein, damit alles OK ist?
- oben rechts, wenn man auf Konto klickt, wird aktuell ein 'Limesurvey Editor BETA' angeboten --> was kann es mehr bzw. ist es schon stabil? Wegen BETA wahrscheinlich noch nicht oder?
  • Joffm
  • Joffm's Avatar
25 Feb 2025 12:26
Hallo, Milena,
hier die neue Version.
 

File Attachment:

File Name: limesurvey...8_J2.lss
File Size:498 KB

Jetzt kommt also im schlimmsten Fall so etwas heraus
 

Die Texte stammen aus einem pdf der Uni Göttingen.
Das ist natürlich nur ein Gimmick um zu zeigen, was man so machen kann.
Übrigens solltest Du hier diese Seite nicht mit dem HTML-Editor bearbeiten, nur mit dem Sourcecode-Editor; sonst wird das Layout zerschossen (liegt am HTML innerhalb der Bedingung)

Zu spät habe ich gelesen, dass die Nicht-Anzeige der Top3 eingebaut werden soll.
Das ist nicht ganz trivial.

Viel Erfolg

Joffm
 
  • Joffm
  • Joffm's Avatar
22 Feb 2025 18:06
Replied by Joffm on topic Auslesen / Auswerten von Fragebogen
Was willst Du denn überhaupt?

Ich sage es einmal salopp:
Willst Du wie ein Geier vor dem Rechner sitzen und bei jeder neu gegebenen Antwort sofort nachschauen, wieviele Punkte der Teilnehmer wo erreicht hat?
Da wäre es wirklich einfacher, Dir die Ergebnisse zuschicken zu lassen.
Einfach eine der beiden Admin-Benachrichtigungen entsprechnd ändern, also mit ExpressionScript die Ergebnisse reinschreiben
In praxe das, was z.B. in "ScoreA" bzw. "ScoreB" des Beispiels steht.
Kannst Du natürlich aufhübschen mit etwas HTML, z.B. Tabelle daraus machen.

Oder reicht es Dir in gewissen Abständen - oder auch erst nach Beendigung der Umfrage - zu schauen?
Dann exportierst Du doch die Daten, wobei Du genau sagen kannst, welche Variablen exportiert werden sollen.

Joffm
  • tassoman
  • tassoman's Avatar
18 Feb 2025 17:33
Does Question Theme is overridable? was created by tassoman
Please help us help you and fill where relevant:
Your LimeSurvey version: 6.x
Own server or LimeSurvey hosting: own on premise
Survey theme/template: vanilla child theme
==================

While I was successful at writing my custom survey theme based on core Vanilla, I'm not able to understand how do I can override and extend core question themes.
I can understand I can slighty edit graphical appearance by altering their css into my custom.css file. But how about altering html code?
Do I really need to write a full theme with config.xml and file structure from scratch? How do it can fit only with my custom survey theme, without altering other themes?
Also a note on Wiki documentation about Question themes is lacking of data, images are missing and existing images are obsolete, v3.x related. Maybe I can update it.
Thanks in advance
 
  • sish
  • sish's Avatar
18 Feb 2025 06:19
Please help us help you and fill where relevant:
Your LimeSurvey version: Version 5.6.56+240227
Own server or LimeSurvey hosting:
Survey theme/template:

I am experiencing an issue where HTML tags are visible in the email sent out after survey completion instead of being rendered correctly.
Any guidance on this would be greatly appreciated.
  • DenisChenu
  • DenisChenu's Avatar
10 Feb 2025 17:30
Replied by DenisChenu on topic limeMpdf Plugin - Change Font
Do you ntry online style with
<span style="font-family:arial">arial</span>
<span style="font-family:serif">serif</span>

If it works you can force it in style-custom.css in your theme

Else :  mpdf.github.io/fonts-languages/default-font.html

 
  • DenisChenu
  • DenisChenu's Avatar
06 Feb 2025 17:42
Replied by DenisChenu on topic Dashboard without boxes/tiles

After some consideration, we created a Sea Green child theme and implemented the boxes with JavaScript
 
I have to update gitlab.com/SondagesPro/coreAndTools/AdminBanner to allow to add it on new version …

After can add any HTML (filtered) at home page + Surey listing (in option)
  • paulfiner
  • paulfiner's Avatar
03 Feb 2025 19:53
Please help us help you and fill where relevant:
LimeSurvey version: 6.10.2+250127
Own server or LimeSurvey Cloud: Own server
Survey theme/template: Fruity TwentyThree
==================
I'm trying to export the survey as a tab separated file and all seems to be OK up to just after the last SL class row (row73 in Excel).
I then get a load of HTML code starting in row 76 and no questions from my survey are exported.
I have attached a screenshot showing this.
Any idea what could be going wrong?
Displaying 61 - 75 out of 4958 results.

Lime-years ahead

Online-surveys for every purse and purpose