1. Hugh is now back at work, more or less full time, after a slower than expected recovery from his neck surgery early this month. Obviously we have a backlog of support to clear, and are working as hard as we can to take care of it. If you have an unanswered thread more than 3 days old, please post one (and only one) "bump" on it, to move it in to our "last 3 days" list. If you have an unanswered issue in a forum you no longer have access to due to subscriptions timing out, please use the Contact Us form, and provide us with the URL to the thread.

more restartable multi-page issues

Discussion in 'Community' started by caeceach, Feb 24, 2009.

  1. caeceach New Member

    Level: Community
    More issues with multi-page forms. This time it's about restartable forms and cross-browser functionality. It seems to be broken in both FireFox and Internet explorer (at least versions 2.xx and 6.xx) but in different way. So here same scenario performed in FireFox and then in Internet explorer. I fill-in fields on the first page click "next", fill some more fields on second, then click some link from menu to go away form the form and then click "home" (because form linked to main page) to return to from.

    Here begins big difference: FireFox acts like nothing been between us before :) and shows empty first page of the form. Internet explorer, on the other hand shows me exactly same page from where i had leaved the form. More over, it shows a new link - "clear", that as i think supposed to clear previously entered data. But link work in some strange and odd way - if i click on it, page get redirected to index.php?option=com_fabrik (i really don't want this, supposed to be plain index.php), link "clear" remains and i still somewhere in the middle of the form instead of firstpage. Worst of all - after submitting form in IE i don't get a "brand new" clear form, but a last page of the form with "clear" link on it.

    So while in IE restartable multi-page work, but not as supposed, in FireFox it doesn't work at all. And for the moment i prefer FireFox behavior: at least it doesn't get messed up with old data, that can't be removed and i can submit another form after redirect. Actually my question is there some easy way to disable restartable functionality, so that both FF and IE wouldn't tamper with old data and offer straight way - "fill it or forget it"?

    Just in case: link (may be slow and down sometimes - it's only my old home computer), Joomla 1.5.9, Fabrik - fresh from SVN. In groups options "Save to table" turned off and in form options redirect set to /index.php
  2. cheesegrits Support Gopher

    Level: Community
    I think the last line of your post is the answer. "Save to table" needs to be turned on.

    NOTE that "save to table" is a little misleading. It doesn't actually save to the table itself, rather it saves in a temporary session table.

    I just tested on my server here, and it works fine. Returns me to the page I was on, and has all my previously entered data in the form.

    -- hugh
  3. caeceach New Member

    Level: Community
    Unfortunately it doesn't help. I've switched "Save to table" off after experimenting on how to disable session saving. Either this option on or off both FF and IE behaves identically, i.e. same as i described before. Is there more related options? Or may be by commenting out some lines i can completely disable session saving?

    Besides, more info on IE - i need to manually delete cookie, so i can get clear first page of form when loading site, without this it shows last page of form i was on, if form was partially filled, or shows last page of the form after submit.
  4. caeceach New Member

    Level: Community
    If someone will have a deal with similar issue. There is some problem with setting session cookie in FF and clearing session cookie in IE. Can't locate it by now. For the moment my quick fix is to change some lines to bypass loading from cookie if not completely then at least form page setting. In components\com_fabrik\models\formsession.php change function load() from this
    Code (text):

                }
            $this->last_page = $row->last_page;
            return $row;
     
    to this
    Code (text):

                }
            $this->last_page = 0;
            return $row;
     
    In components\com_fabrik\views\form\view.html.php change function setMessage() from this
    Code (text):

      {
        $model =& $this->getModel();
        $message = '';
        if ($model->sessionModel) {
          $this->message = $model->sessionModel->status;
          if ($model->sessionModel->statusid == _FABRIKFORMSESSION_LOADED_FROM_COOKIE) {
            $message .= " <a href='#' class='clearSession'>" . JText::_('CLEAR') . "</a>";
          }
        }
        $this->assign( 'message', $message );
      }
     
    to this
    Code (text):

      {
        $model =& $this->getModel();
        $message = '';
        $this->assign( 'message', $message );
      }
     

Share This Page