protected function renderJSFiles() { $urls = array(); $deps = array(); if (!in_array("jQuery", $this->prevent)) { $urls['jQuery'] = $this->_prefix . "://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"; } if (!in_array("bootstrap", $this->prevent)) { $urls['bootstrap'] = $this->_prefix . "://netdna.bootstrapcdn.com/twitter-bootstrap/2.2.1/js/bootstrap.min.js"; } foreach ($this->_elements as $element) { $elementUrls = $element->getJSFiles(); $elementDeps = $element->getJSDeps(); if (is_array($elementDeps)) { $deps = array_merge($deps, $elementDeps); } if (is_array($elementUrls)) { $urls = array_merge($urls, $elementUrls); } } /* This section prevents duplicate js files from being loaded. */ if (!empty($urls)) { $urls = array_unique($urls); foreach ($deps as $dep) { if (isset($urls[$dep])) { echo RM_Utilities::enqueue_external_scripts($dep, $urls[$dep]); unset($urls[$dep]); } } foreach ($urls as $handle => $url) { echo RM_Utilities::enqueue_external_scripts($handle, $url); } } }
protected function insert_JS($form) { $max_page_count = 1; $form_identifier = "form_" . $this->get_form_id(); $form_id = $this->get_form_id(); $validator_js = $this->get_jqvalidator_config_JS(); $jqvalidate = RM_Utilities::enqueue_external_scripts('rm_jquery_validate', "https://ajax.aspnetcdn.com/ajax/jquery.validate/1.15.0/jquery.validate.min.js"); $jqvalidate .= RM_Utilities::enqueue_external_scripts('rm_jquery_validate_add', "https://ajax.aspnetcdn.com/ajax/jquery.validate/1.15.0/additional-methods.min.js"); $str = <<<JSHD <script> if (typeof window['rm_multipage'] == 'undefined') { rm_multipage = { global_page_no_{$form_identifier}_{$this->form_number}: 1 }; } else rm_multipage.global_page_no_{$form_identifier}_{$this->form_number} = 1; function gotonext_{$form_identifier}_{$this->form_number}(){ \t maxpage = {$max_page_count} ; {$validator_js} if(jQuery("#rm_form_page_{$form_identifier}_{$this->form_number}_"+rm_multipage.global_page_no_{$form_identifier}_{$this->form_number}+" :input").length > 0) { var valid = jQuery("#rm_form_page_{$form_identifier}_{$this->form_number}_"+rm_multipage.global_page_no_{$form_identifier}_{$this->form_number}+" :input").valid(); if(!valid) { jQuery(document).find("input.rm-form-field-invalid-msg")[0].focus(); return; } } rm_multipage.global_page_no_{$form_identifier}_{$this->form_number}++; //skip blank form pages while(jQuery("#rm_form_page_{$form_identifier}_{$this->form_number}_"+rm_multipage.global_page_no_{$form_identifier}_{$this->form_number}+" :input").length == 0) { if(maxpage <= rm_multipage.global_page_no_{$form_identifier}_{$this->form_number}) { if(jQuery("#rm_form_page_{$form_identifier}_{$this->form_number}_"+rm_multipage.global_page_no_{$form_identifier}_{$this->form_number}+" :input").length == 0){ jQuery("#rm_next_form_page_button_{$form_id}_{$this->form_number}").attr('type','submit'); jQuery("#rm_prev_form_page_button_{$form_id}_{$this->form_number}").prop('disabled',true); return; } else break; } rm_multipage.global_page_no_{$form_identifier}_{$this->form_number}++; } \t \tif(maxpage < rm_multipage.global_page_no_{$form_identifier}_{$this->form_number}) \t{ \t\trm_multipage.global_page_no_{$form_identifier}_{$this->form_number} = maxpage; \t\tjQuery("#rm_next_form_page_button_{$form_id}_{$this->form_number}").attr('type','submit'); jQuery("#rm_prev_form_page_button_{$form_id}_{$this->form_number}").prop('disabled',true); \t\treturn; \t} \tjQuery(".rmformpage_{$form_identifier}_{$this->form_number}").each(function (){ \t\tvar visibledivid = "rm_form_page_{$form_identifier}_{$this->form_number}_"+rm_multipage.global_page_no_{$form_identifier}_{$this->form_number}; \t\tif(jQuery(this).attr('id') == visibledivid) \t\t\tjQuery(this).show(); \t\telse \t\t\tjQuery(this).hide(); \t}) jQuery("#rm_prev_form_page_button_{$form_id}_{$this->form_number}").prop('disabled',false); rmInitGoogleApi(); } function gotoprev_{$form_identifier}_{$this->form_number}(){ \t \tmaxpage = {$max_page_count} ; \trm_multipage.global_page_no_{$form_identifier}_{$this->form_number}--; jQuery("#rm_next_form_page_button_{$form_id}_{$this->form_number}").attr('type','button'); //skip blank form pages while(jQuery("#rm_form_page_{$form_identifier}_{$this->form_number}_"+rm_multipage.global_page_no_{$form_identifier}_{$this->form_number}+" :input").length == 0) { if(1 >= rm_multipage.global_page_no_{$form_identifier}_{$this->form_number}) { if(jQuery("#rm_form_page_{$form_identifier}_{$this->form_number}_"+rm_multipage.global_page_no_{$form_identifier}_{$this->form_number}+" :input").length == 0){ rm_multipage.global_page_no_{$form_identifier}_{$this->form_number} = 1; jQuery("#rm_prev_form_page_button_{$form_id}_{$this->form_number}").prop('disabled',true); return; } else break; } rm_multipage.global_page_no_{$form_identifier}_{$this->form_number}--; } \tjQuery(".rmformpage_{$form_identifier}_{$this->form_number}").each(function (){ \t\tvar visibledivid = "rm_form_page_{$form_identifier}_{$this->form_number}_"+rm_multipage.global_page_no_{$form_identifier}_{$this->form_number}; \t\tif(jQuery(this).attr('id') == visibledivid) \t\t\tjQuery(this).show(); \t\telse \t\t\tjQuery(this).hide(); \t}) if(rm_multipage.global_page_no_{$form_identifier}_{$this->form_number} <= 1) { rm_multipage.global_page_no_{$form_identifier}_{$this->form_number} = 1; jQuery("#rm_prev_form_page_button_{$form_id}_{$this->form_number}").prop('disabled',true); } } jQuery(document).ready( function(){ }) </script> JSHD; $str = $jqvalidate . $str; $form->addElement(new Element_HTML($str)); }