+++ /dev/null
-M.form_submit = {};
-
-M.form_submit.init = function(Y, options) {
- Y.on('submit', function(e) {
- if (!containsErrors) {
- e.target.one('#'+options.submitid).setAttribute('disabled', 'true');
- }
- }, '#'+options.formid);
-};
\ No newline at end of file
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class MoodleQuickForm_submit extends HTML_QuickForm_submit {
- /** @var string Need to store id of form for submission control in JS*/
- var $_formid = '';
-
/**
* constructor
*
{
switch ($event) {
case 'createElement':
- $this->_formid = $caller->getAttribute('id');
parent::onQuickFormEvent($event, $arg, $caller);
if ($caller->isNoSubmitButton($arg[0])){
//need this to bypass client validation
$this->_flagFrozen = true;
}
- /**
- * Returns HTML for this form element.
- *
- * @return string
- */
- function toHtml(){
- global $PAGE;
- $options = array(
- 'submitid' => $this->getAttribute('id'),
- 'formid' => $this->_formid,
- );
- $str = parent::toHtml();
- $module = array('name'=>'form_submit', 'fullpath'=>'/lib/form/submit.js');
- $PAGE->requires->js_init_call('M.form_submit.init', array($options), true, $module);
- return $str;
- }
}
//<![CDATA[
var skipClientValidation = false;
-var containsErrors = false;
function qf_errorHandler(element, _qfMsg) {
div = element.parentNode;
var frm = document.getElementById(\''. $this->_attributes['id'] .'\')
var first_focus = false;
' . $validateJS . ';
- containsErrors = !ret;
return ret;
}
//]]>