所以我修改了一个wordpress插件以满足我的需要。 现在一切都基本上按照我想要的方式工作,但我仍然有一点问题,我不知道如何解决它。
我的目标是即使在点击提交按钮后仍然能够访问和修改我的测验中选择的数据。 为此,我修改了代码,以便结果部分不会替换数据选择,而是在它之后。 (击中布鲁尔的背面不起作用)。
现在每次点击提交,我都会添加另一个结果。如果我点击提交4次,我一个接一个地得到4个结果(实际上它是重复的最新结果)。 我希望它只显示最新的。希望我能正确解释。
有人有想法吗?
function qmnFormSubmit( quiz_form_id ) {
var quiz_id = +jQuery( '#' + quiz_form_id ).find( '.qmn_quiz_id' ).val();
var $container = jQuery( '#' + quiz_form_id ).closest( '.qmn_quiz_container' );
var result = qmnValidation( '#' + quiz_form_id + ' *', quiz_form_id );
if ( ! result ) { return result; }
jQuery( '.mlw_qmn_quiz input:radio' ).attr( 'disabled', false );
jQuery( '.mlw_qmn_quiz input:checkbox' ).attr( 'disabled', false );
jQuery( '.mlw_qmn_quiz select' ).attr( 'disabled', false );
jQuery( '.mlw_qmn_question_comment' ).attr( 'disabled', false );
jQuery( '.mlw_answer_open_text' ).attr( 'disabled', false );
var data = {
action: 'qmn_process_quiz',
quizData: jQuery( '#' + quiz_form_id ).serialize()
};
qsmEndTimeTakenTimer();
if ( qmn_quiz_data[quiz_id].hasOwnProperty( 'timer_limit' ) ) {
qmnEndTimer( quiz_id );
}
// jQuery( '#' + quiz_form_id + ' input[type=submit]' ).attr( 'disabled', 'disabled' );
qsmDisplayLoading( $container );
// containerBuffer= $container;
jQuery.post( qmn_ajax_object.ajaxurl, data, function( response ) {
qmnDisplayResults( JSON.parse( response ), quiz_form_id, $container );
});
return false;
}
function qsmDisplayLoading( $container ) {
// $container.empty();
$container.append( '<div id="loader_div" class="qsm-spinner-loader"></div>' );
qsmScrollTo( $container );
}
function qmnDisplayResults( results, quiz_form_id, $container ) {
// $container.empty();
jQuery('#loader_div').remove();
// $container=containerBuffer;
if ( results.redirect ) {
window.open( results.redirect_url, '_blank' );
} else {
$container.append( '<div class="qmn_results_page"></div>' );
$container.find( '.qmn_results_page' ).html( results.display );
qsmScrollTo( $container );
}
}