Comments

  • 1-15 of 15
  • Eric Rinehart

    Thanks James. Yep, it's still an issue. It just happened to me in IE8 (compatibility mode). I'll submit an incident. Thanks!

  • Eric Rinehart

    Hi. Thanks for the responses. Sorry for the delay getting back on this.

    I have modified the template file, but it doesn't seem to have helped the end users. I'm still getting feedback that the forms aren't submitting.

    This still works just fine for me, so I can't reproduce the error. Also, my IT dept has upgraded me to IE8, so it'll be harder to test in the same environment my users have. I can only hope that they get upgraded too. Sounds like that will help, if this is related to IE7 problems with iframes.

    I'd like to make sure that I've applied the fix correctly. Here is a chunk from the template for content that appears within the iframe:

      <body class="yui-skin-sam">
    <script type='text/javascript'>
    /* This helps IE 6 & 7 to use these pages */
    try {
    if(YAHOO.env.ua.ie > 0)
    {
    // override onDOMReady to use window.onload
    YAHOO.util.Event.onDOMReady = function( p_fn, p_obj, p_scope ){
    YAHOO.util.Event.addListener( window, "load", p_fn, p_obj, p_scope );
    };
    }
    } catch (e) {
    }
    </script>
    <!-- The content starts here -->

    Does that look right? Still trying to figure out what else I might try.

    Thanks again for your help!
    Eric

  • Eric Rinehart

    Just to be clear, that code goes in the pages (rather, their template) that appear within the iframe?

    Thanks!
    Eric

  • Eric Rinehart

    eturner,

    Thanks for your quick response.

    Yes, the reference to treeview is the last thing in the <body> element.

    The product/category widgets are the standard widgets, but they're in a hidden <div>, in case that makes a difference. We made a widget to put product/category and a few other items in a hidden <div> on each of the pages that appear in the iframe.

    I've found at times that if I get the treeview error, if I re-load the iframe page (maybe a couple times), the page will load without an error and then submit without an error. So does the treeview just take time to load, and won't work until it's ready?

    Thanks,
    Eric

  • Eric Rinehart

    Worked! Thanks!

  • Eric Rinehart

    > Why not use a hook?

    I'm not new to web dev or Javascript, but I'm new to RightNow. Can you provide a link or more info?

    Thanks,
    Eric

  • Eric Rinehart

    Hello, I have a followup.

    Rather than load the "secondary" CP page into a <div> with AJAX, I put an <iframe> in the <div>. I submit a form on the "primary" page, using the <iframe> as the target of the form. So when the form submitted, I show the <div> that contains the <iframe>. When the user is done with the "secondary" page, he can close the <div> and use the "primary" to show a different "secondary".

    Thanks again for the help! I have another question for this project, but I'll start a new thread.

    Eric

  • Eric Rinehart

    Well, this is a re-make of a project that did just that, multiple hidden <div>s, and one gets shown based on user input. But there are ~150 of the forms to hide and show, and it turned into a maintenance headache.

    However, knowing that there's not a good way to do that, I'll think of something else. I may be able to host the forms on another server, but still have the main page and its scripts on RightNow.

    Thanks for your input, you've been very helpful!
    Eric

  • Eric Rinehart

     Never mind. I forgot something. It's working fine now.

  • Eric Rinehart

    Ok! That makes sense.

    Actually, the pages I'm requesting have an RN template applied, and use a couple of widgets I made because they have some common elements in them, but I can't use a PHP include.

    So, I would LIKE the pages I'm requesting to be pure HTML without an RN template, but I need to use widgets or includes. Can I do that?

    Thanks,
    Eric

  • Eric Rinehart

     Forgot to include the code:

        var myOverlay = new YAHOO.widget.Overlay("BEATformContainer");
        yOverlay.cfg.setProperty("fixedcenter", true);
        myOverlay.render();

  • Eric Rinehart

    Yes, the XML file question was actually posted on my behalf, but I didn't know about the HTMLROOT constant. Thanks for that.

    Meanwhile, yes, the page I'm loading uses data that is passed to it via POST to do some processing. I'm not married to POST, though, if you have a compelling reason to use GET. That part seems to be working all right, though.

    However, now, when I call asyncRequest(), I get a series of errors:
    Error: The RightNow namespace variable has already been defined somewhere.
    Error: The RightNow.Ajax namespace variable has already been defined somewhere.
    Error: The RightNow.Text namespace variable has already been defined somewhere.
    Error: The RightNow.UI namespace variable has already been defined somewhere.
    Error: The RightNow.UI.AbuseDetection namespace variable has already been defined somewhere.
    Error: The RightNow.Url namespace variable has already been defined somewhere.
    Error: The RightNow.Event namespace variable has already been defined somewhere.
    Error: The RightNow.UI.DevelopmentHeader namespace variable has already defined somewhere.

    I don't think I've re-declared these things, or have extra links to the scripts.

    Thanks again,
    Eric

  • Eric Rinehart

     Aha! I'll change buildFormData() to return a string like you describe rather than an Object.

    What I'm trying to do is to display a page based on selections the user makes on a form. So once the selections are made, I want to use AJAX to load that page into a <div> on the original page, using an overlay/shadowbox effect.

    Also, I was working on a custom controller to read selection relationship data from an XML file, but I couldn't figure out where to put the XML file, nor how to reference it to read it with PHP's file() function. Can you give me a pointer there?

    Thanks!

  • Eric Rinehart

     ...And also, where do I store the pages to access them in the /cc/beat/forms/ folder? Thanks!

  • Eric Rinehart

     buildFormData() returns an Object to use as the POST data.

    The custom controller is an interesting idea. Thanks for that! I'm new at working with RightNow (uh, in case you couldn't tell...)

    So, yes, I am trying to POST to another CP page, but a custom controller makes sense. I'll start looking into that.

    If there's a good reference for building custom controllers, would you please post a link?

    Thanks,
    Eric