Exemplo n.º 1
0
 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));
    }