Javascript file upload on webcenter 11.1.1.4.

Hi All,
I am making some ajax call in in my custom template which i created in webcenter 11.1.1.4 .
But this is not working as expected since we need to add
this entry in jspx file in order to perform ajax call .
<af:resource type="javascript" source="/........./jquery-1.5.1.min.js"/>
Issue her is that i dont know where this js file is located ?
or
Please provide me how can i upload this javascript on webcenter .
I found some link which allow me to upload images for css file but not js file .
Link is as below .
http://tech.bijesh.info/2011/04/wcs-ps3-custom-skin-images/
Please provide your valuable pointer .
Thanks ,
Arun.

In jdeveloper under webcontent folder(The way you address the script file it needs to be in the public_html folder if you view it in source files ) ,create one folder and named it "js".
In js folder put all the javascript files.
In your custom template source code jspx page,put the component -
<trh:script source="/js/bs.canvas.js"></trh:script>
(If you add <trh:script ..> ,be sure you have added the tag library: xmlns:trh="http://myfaces.apache.org/trinidad)
for adding the javascript.
Remember onething, in some cases <af:resource type="javascript" source="/js/bs.canvas.js"/> may not work. (particularly in template)
Right now I couldn't remember about the docs related to it, once I found I will post it.
For more information here I have mentioned the links--
http://thepeninsulasedge.com/frank_nimphius/adf-faces-rich-client-javascript-programming/
http://forums.oracle.com/forums/post!reply.jspa?messageID=9552526
http://www.bluestudios.co.uk/blog/?p=1317
http://www.yenlo.nl/harryvanoosten/2010/03/31/adf-11g-javascript-and-partial-page-rendering/

Similar Messages

  • Failed to load source - file upload post

    Hello All,
    I'm trying to implement an AJAX type of file upload. I'm using Sencha's upload form which creates an iframe on the go(this si doen with the parameter fileUpload true). This should take care fo the mechanics involved in AJAX file uploads inside APEX.
    I can see an attempt to upload the file but then I get the response:
    Failed to load source for: http://jsnotions.homelinux.com/apex/wwv_flow.accept?p_flow_id=124&p_flow_step_id=1&p_instance=1971193010922945I tried creating a branch on the page to branch to another page which has an On Page Process - On Load Before Header which returns a JSON formated message.
    BEGIN
    HTP.P('{"success":true}');
    END;Oddly enough when I check the APEX view I see that the file has not been uploaded to the APEX server. Can anybody offer some advise or a solution to AJAX file uploading inside APEX.
    Thanks in advance
    Jan

    Hello All,
    I'm still trying to crack this one. Getting the following error.
    More files were uploaded in this request than the number of file item types defined on the page.I'm using an javascript extension whihc creates and ifram through whihc I'm uploading the file. That seems to be configured properly.
    As for the page setup, I've tried several variations and none seem to work.
    I tried to create a file browser item, and set some hidden html class on it. Then when I use the javascript uploader, I set the value inside the file browser($s('P1_FILENAME', myval)), this was to get over previous errors of
    failed to load sourceNow apex doesn't like that as well, so I'm thinking its just not possible to do a clean javascript file uploader. I guess the only option now is to create a separate page, hide the items and display it into an iframe.
    Any thoughts on fileuploader with javascript inside APEX? Oh, almost forgot to mention that I'm using the fileuploaderfield from sencha.
    Thanks
    Jan

  • Javascript to upload a file to SharePoint 2010 document library

    Please share your ideas. I am using SharePoint 2010. Currently when uploading files to a document library, first the upload form is opening to upload the document and then the edit form. I would like to have both this in the same form. I am trying to
    create a webpart page with the controls to upload the file to document library and assign values to the fields in the library. I am looking for some javascript for doing this. Is there any other way of achieving this? Please share any sample
    code.
    <label for="title">Enter the title for this document:</label> <input type="text" id="title"><br/><br/>
    <input id="inputFile" type="file"/><br/><br/>
    <input id="uploadDocumentButton" onclick="UploadDocument()" type="button" value="Upload Document"/><script type="text/javascript">
            function UploadDocument() {
                //javascript to upload the file to MyLibrary and update the title field
    </script>

    Use the below code step by step :) 
    (1) Html
      <input type="file" id="attafh"  class="AlltextAccount"  />
          <input type="button" value="upload" onclick="rundCode()" />
    (2) JS File 
    function rundCode() {
        var file = document.getElementById('attafh').files[0];
        if (file) {
            UploadMe(file);
    (3) 
    function UploadMe(readFile) {
        var reader = new FileReader();
        reader.readAsArrayBuffer(readFile); //array buffer
        reader.onprogress = updateProgress;
        reader.onload = loaded;
        reader.onerror = errorHandler;
    (4)
    function loaded(evt) {
        var fileString = evt.target.result;
        var X = _arrayBufferToBase64(fileString); // this is the mothod to convert Buffer array to Binary
            var fileInput = document.getElementById('attafh');
            var fileDisplayArea = document.getElementById('fileDisplayArea');
                var file = fileInput.values;
                 var filePath = $('#attafh').val(); // "c:\\test.pdf";
            var file = filePath.match(/\\([^\\]+)$/)[1];
            var soapEnv =
                "<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'> \
                    <soap:Body>\
                        <CopyIntoItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'>\
                            <SourceUrl>" + filePath + "</SourceUrl>\
                                <DestinationUrls>\
                                    <string>http://intranet/sites/English/DocumentLibrary/" + file + "</string>\
                                </DestinationUrls>\
                                <Fields>\
                                    <FieldInformation Type='Text' DisplayName='Title' InternalName='Title' Value='Test'  />\
                                      <FieldInformation Type='Text' DisplayName='BudgetId' InternalName='BudgetId' Value='8'  />\
                                </Fields>\
                            <Stream>" + X + "</Stream>\
                        </CopyIntoItems>\
                    </soap:Body>\
                </soap:Envelope>";
            $.ajax({
                url: "http://intranet/_vti_bin/copy.asmx",
                beforeSend: function (xhr) { xhr.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/sharepoint/soap/CopyIntoItems"); },
                type: "POST",
                dataType: "xml",
                data: soapEnv,
                complete: processResult,
                contentType: "text/xml; charset=\"utf-8\""
        SP.SOD.executeOrDelayUntilScriptLoaded(initialize, 'SP.js');
        SP.SOD.executeOrDelayUntilScriptLoaded(test, 'SP.js');
    function errorHandler(evt) {
        if (evt.target.error.name == "NotReadableError") {
            // The file could not be read.
    function _arrayBufferToBase64(buffer) {
        var binary = ''
        var bytes = new Uint8Array(buffer)
        var len = bytes.byteLength;
        for (var i = 0; i < len; i++) {
            binary += String.fromCharCode(bytes[i])
        return window.btoa(binary);
    (5)
    function updateProgress(evt) {
    http://www.abdulazizfarooqi.wordpress.com Abdul Aziz Farooqi [BizTalk & SharePoint Consultant] MCPD Web & MCPD SharePoint 2010

  • Javascript multiple file upload with progressbar does not work in firefox, please help

    I want to upload files using this javascript snipped as well as processing non file fields on the same form. This works beautiful in IE11, Chrome and Opera, but not in firefox (version 34).
    I fired the non file handler with the action attribute on the <form> like this:
    <form id="upload_form" enctype="multipart/form-data" method="POST" action="nonFile.php">
    and the javascript with:
    <input name="submit" type="submit" style="background: green" value="Submit" onclick="return uploadFiles()"/>
    When I change type="button" the file uploads work in FF but the I have no control over the non file fileds.
    Can someone gives me an indication of what is wrong?
    oXHR.upload.addEventListener("progress", function(e){
    var percent=(e.loaded/e.total) * 100;
    _(idProg).value = Math.round(percent);
    _(idstat).innerHTML = filename.name + " "+Math.round(percent)+"% --- Please Wait";
    }, false);
    // Upload finish, show the size of the file in Bytes, KBytes or MBytes
    oXHR.onreadystatechange = function(){
    if (oXHR.readyState == 4 && oXHR.status == 200){
    var iBytesTransfered = bytesToSize(filesize);
    _(idstat).innerHTML = filename.name + " Size: " + iBytesTransfered + " "+100+"%";
    _(idProg).value = 100;
    // Upload failed
    oXHR.addEventListener("error", function(e){
    _(idstat).innerHTML = "Upload Failed";
    }, false);
    // Upload aborted
    oXHR.addEventListener("abort", function(e){
    _(idstat).innerHTML = "Upload Aborted";
    }, false)

    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0, 0,0" width="600" height="360">
    <param name=movie value="example.swf">
       <param name="allowScriptAccess" value="always" />
    <param name="quality" value="high">
    <param name="allowScript" value="opaque">
    <param name="wmode" value="opaque">
    <embed src="example.swf" quality="high" allowScriptAccess="always" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=Shockwave Flash" type="application/x-shockwave-flash" width="600" height="360"></embed></object>

  • Using &APP_ID. in uploaded javascript file

    Hi dev's,
    I fumbling around with a quite annoying problem.
    When I create a javascript directly inside the "Header Text" of my page the script works perfectly:
    &lt;script type="text/javascript">
    function fnc_setTreeItem (pItem)
      var get = new htmldb_Get(null,&APP_ID.,'APPLICATION_PROCESS=dummy',0);
      get.add(pItem,$x(pItem).value)
      gReturn = get.get();
      get = null;
    &lt;/script> But when I use an uploaded javascript file instead because the source code becomes to much then the script runs on an error:
    <!-- Custom js, css, libs -->
    &lt;script type="text/javascript" src="#APP_IMAGES#ukd_monitoring.js">&lt;/script> Firebug error description:
    syntax error
    E()apex_ns_3_1.js (line 1)
    ? in apex_ns_3_1.js@1("ContentArea")apex_ns_3_1.js (line 1)
    $x("ContentArea")apex_3_1.js (line 1)
    $x_Style(["BB", "ContentArea", "ContentBody" 0=BB 1=ContentArea 2=ContentBody], "display", "")apex_3_1.js (line 1)
    $x_Show(["BB", "ContentArea", "ContentBody" 0=BB 1=ContentArea 2=ContentBody])apex_3_1.js (line 1)
    filterAttributeRegions(a.htmldbButtonListCurrent f?p=4000:4...1,150#HEAD, "#HEAD")apex_builder.js (line 1)
    propTest()apex_builder.js (line 1)
    ? in apex_3_1.js@1()apex_3_1.js (line 1)
    [Break on this error] var get = new htmldb_Get(null,&APP_ID.,'APPLICATION_PROCESS=dummy',0);\nIs there a possibility to get the APP_ID work inside an uploaded file?
    Best regards,
    Tobias

    Hello Tobias,
    Use $v('pFlowId') instead. That should work...
    Greetings,
    Roel
    http://roelhartman.blogspot.com/
    You can reward this reply by marking it as either Helpful or Correct ;-)

  • Upload javascript files for edge animate banner to work in  Content Management System (was: how do upload...)

    how do upload the javascript files for the html edge animate banner to work in my Content Management System module. At present, the html cannot function because the reference javascript files are missing.

    I am not very sure how the CMS manage their content but basically the javascript files need to be in the same folder as the HTML file for Animate content to play.

  • Uploading javascript file under static files

    We uploaded the javascript file under static files. By default the mime type is "application/octet-stream". We are accessing this js file in our application however this is not working.
    Is this because the mime type is "application/octet-stream"?
    Please let us know how to change the mime type to javascript.

    Actually, we were having the same problem and determined it to be an IE bug. If we upload the .js file using Firefox, it saves as the correct mime type, x-javascript. If we use IE8, it gets uploaded as octet. Because of this, Firebug did not recognize the file, we got the following error: "the resource from this url is not text: " with the link to the uploaded file. Hence, none of the functions included in the file worked in our application.

  • File upload issue in Portlet

    Hi Friends,
    I'm using FileUpload in one of my screen, so I'm using form enctype="multipart/form-data" and using apache commons fileUpload library. The file upload is working fine and I'm navigated from 1st screen to the 2nd screen.
    but in the 2nd screen, I have an anchor link, to navigate back to the 1st screen
    <li><a href="javascript:void (0)" onclick="'<%=renderResponse.createActionURL().toString()+"&paramView=Test1"%>'"> Test1</a></li>.
    When I click the anchor link in the 2nd screen, I'm getting the following exception,
    <ADFPortletServlet> <renderError>
    oracle.adfinternal.view.faces.renderkit.core.portlet.ADFPortletServletException: An error has occurred in the ADFPortletServlet
      at oracle.adfinternal.view.faces.renderkit.html.portlet.ADFPortletServlet.process(ADFPortletServlet.java:429)
      at oracle.adfinternal.view.faces.renderkit.html.portlet.ADFPortletServlet.doGet(ADFPortletServlet.java:349)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
      at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
      at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
      at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at oracle.portlet.client.adapter.adf.ADFPortletFilter.doFilter(ADFPortletFilter.java:32)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at oracle.wcps.client.PersonalizationFilter.doFilter(PersonalizationFilter.java:74)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at oracle.webcenter.content.integration.servlets.ContentServletFilter.doFilter(ContentServletFilter.java:168)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:180)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
      at java.security.AccessController.doPrivileged(Native Method)
      at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:324)
      at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)
      at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
      at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
      at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
      at java.security.AccessController.doPrivileged(Native Method)
      at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:324)
      at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)
      at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
      at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
      at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:163)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
      at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
      at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
      at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
      at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
      at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Caused by: oracle.adfinternal.model.portlet.psr.InvalidPortletServletRequest: Invalid request made to the portlet servlet.
      at oracle.adfinternal.view.faces.renderkit.html.portlet.ADFPortletServlet.process(ADFPortletServlet.java:380)
      ... 47 more
    Note :  I'm using webcenter 11.1.1.8 and this is WSRP 286 portlet. I'm using plain jsp to develop the portlet.
    Can anyone please help me in solving this exception. Any suggestion would be deeply welcomed.
    Thanks in Advance,
    Felix

    Hi Sreedhar,
    Thanks for your reply. I'm not able to access the document. I get the following message while trying to access the document. Are you able to access the document?
    Document cannot be displayed. Possible reasons are: 
    The document id was entered incorrectly. Please check and try again.
    The document id does not exist (was referenced incorrectly).
    The document is not classified as publicly accessible ("non-public").
    The content is being updated and it is temporarily unavailable but will be made available again soon.
    I don't have any problem in pulling the parameters from a Simple HTML Form with enctype="multipart/form-data" using JSR 286 portlets. But the problem is, if I do submit using the Form with enctype="multipart/form-data", in the next screen, the anchor link is not working, but submit buttons are working in the 2nd screen. If I'm navigated to the 2nd screen using default form enctype, I don't have any problem in the 2nd screen. I'm using Apache commons FileUpload.
    Here is my code.
        public void processAction(ActionRequest request,
                                  ActionResponse response) throws PortletException,
                                                                  IOException {
            if (!isMultiPartForm(request)) {
            // Determine which action.
            String okAction = request.getParameter(OK_ACTION);
            String applyAction = request.getParameter(APPLY_ACTION);
            if (okAction != null || applyAction != null) {
                // Save the preferences.
                PortletPreferences prefs = request.getPreferences();
                String param = request.getParameter(PORTLETTITLE_KEY);
                prefs.setValues(PORTLETTITLE_KEY, buildValueArray(param));
                prefs.store();
                if (okAction != null) {
                    response.setPortletMode(PortletMode.VIEW);
                    response.setWindowState(WindowState.NORMAL);
            String paramView= request.getParameter("paramView");
            PortletSession session=this.getSession(request);
            System.out.println("Setting the param view into the session ........."+paramView);
            session.setAttribute("paramView", paramView);
            }else{
                PortletFileUpload uploader =
                    new PortletFileUpload(new DiskFileItemFactory());
                List<FileItem> items;
                Map<String, String> formFieldsMap =
                    new HashMap<String, String>();
                Map<String, FileItem> nonFormFieldsMap =
                    new HashMap<String, FileItem>();
                try {
                    items = uploader.parseRequest(request);
                for (FileItem item : items) {
                        if (!item.isFormField()) {
                            String fieldName = item.getFieldName();
                            InputStream inpStream = item.getInputStream();
                            nonFormFieldsMap.put(fieldName, item);
                        } else {
                            String fieldName = item.getFieldName();
                            String value = getValue(item.getInputStream());
                            formFieldsMap.put(fieldName, value);
                    String paramView = (String)formFieldsMap.get("paramView");
                    if (paramView.equals("Test3")) {
                        PortletSession session=this.getSession(request);
                        System.out.println("Multi Setting the param view into the session ........."+paramView);
                        session.setAttribute("paramView", paramView);
                } catch (FileUploadException e) {
        private static String getValue(InputStream inp) throws IOException {
            BufferedReader reader =
                new BufferedReader(new InputStreamReader(inp, "UTF-8"));
            StringBuilder value = new StringBuilder();
            char[] buffer = new char[1024];
            for (int length = 0; (length = reader.read(buffer)) > 0; ) {
                value.append(buffer, 0, length);
            return value.toString();
        public boolean isMultiPartForm(ActionRequest request) {
            return PortletFileUpload.isMultipartContent(request);
        public PortletSession getSession(PortletRequest request){
            PortletSession session = request.getPortletSession();
            return session;
    Please provide your inputs.
    Regards,
    Felix

  • Calendar & File Upload Components - Threadinar6

    Hi All,
    This is the sixth in the "Threadinar" series , please see Threadinar5 at
    http://swforum.sun.com/jive/thread.jspa?threadID=99473 for details
    In this Threadinar we will focus on the
    "Calendar" and "File Upload" Components
    Let us begin our discussion with the Calendar Component.
    Calendar Component
    You can drag the Calendar component "calendar component icon" from the Palette's Basic category to a page open in the Visual Designer to create an entry field with an integrated calendar pop-up to help the user pick dates for the field.
    You can also drop the calendar on a container component, like a table cell or group box.
    After dragging the component to the Visual Designer, you can work with the following useful properties of the Calendar Component:-
    General
    * id. Type: String
    The name of the Calendar component in the page bean and the JSP file.
    Appearance
    * columns. Type: int
    The number of character columns used to render the component. The default value is 20.
    * dateFormatPattern. Type: String
    The format of the date to be entered by the user. It is not usually necessary to set this property because a pattern is chosen automatically based on the locale.
    If you prefer to specify a date format, click the ellipsis button (...) to the right of the property and select a predefined date format from the property editor's list. You can also add your own formats. If you add a format, the values you can enter are limited to some combination of yyyy for the year, MM for the month, and dd for the day separated by separator characters. Typical separator characters are / (slash), . (period), and - (dash). For example, the following date formats are acceptable:
    o MM/dd/yyyy
    o yyyy.MM.dd
    o MM-dd-yyyy
    * dateFormatPatternHelp. Type: text
    Text that appears below the date entry field and shows the format pattern that the date entry field accepts. If you have not set the dateFormatPattern property, the help text is chosen automatically for you. If you have set the dateFormatPattern property, you should bind the dateFormatPatternHelp property to a localized string that matches the setting for each locale you want to support.
    * label. Type: String
    A label that appears next to the text entry field, typically describing what the user is supposed to enter.
    o Note: The label property is not as flexible as the Label component. You can use the Label component if you want more control over the label's appearance, such as positioning of the label relative to the component.
    * labelLevel. Type: int
    A number that affects the appearance of the label. 1 (Strong) is larger and bold. 2 (Medium), the default, is smaller and bold. 3 (Weak) is smaller and normal (not bold). This property takes effect only if the label property is set.
    * style. Type: String
    Cascading Style Sheet rules (CSS level 2) to be applied to the component. For example:
    position: absolute; left: 288px; top: 312px
    You can enter values directly or click the ellipsis (...) button to use the Style Editor.
    o Note: This property overrides any settings in the theme or the project CSS file for this component. If a style specified in this property does not appear to take effect, it is because an area of the component is obscured by a child component that has different style settings.
    For a list of CSS2 style attributes, see the web page at
    http://www.w3.org/TR/REC-CSS2/propidx.html
    * styleClass. Type: String
    A space-separated list of CSS2 style classes to be applied when the component is rendered. The style classes must be defined in the project's style sheet or in the theme's CSS file. If you click the ellipsis button (...), you see a list of all styles you can add to this property. For information on adding CSS classes and rules to the project's cascading style sheet, see CSS Editor.
    o Note: See the note above under the style property description for an explanation of why a class added to this property might appear to have no effect on the component.
    o Note: If you add a CSS style class from the current theme to your project CSS file and you redefine the style class, the change affects all components that use this style class. However, you can add your own style classes to the project CSS file that redefine the default style classes, and then when you add them to this property, the changes affect only this instance of this component.
    For the defaulttheme.jar CSS style classes for this component, see Calendar Component CSS Classes.
    Data
    * maxDate. Type: java.util.Date
    The last date that the user can select. The default value is four years from the date set in the minDate property, for a total span of five years.
    * minDate. Type: java.util.Date
    The earliest date that the user can select. The default value is the value of the selectedDate property, which defaults to the current date if that property is not set.
    * required. Type: boolean
    If selected, the user must enter a value for the calendar before the page can be submitted. If you add a Message component to the page and link its for property to this component, an error message will be displayed if the user tries to submit the page without entering a value.
    * selectedDate. Type: Date
    A java.util.Date object representing the calendar date selected by the user. If you right-click the component and choose Bind to Data, you can bind this property to a data provider or object that can process the user entered value on the server.
    When the component displays initially, if this property is not set, its value defaults to the current date. If you provide values for minDate and maxDate, you can also provide a value for this property that initially displays a date in that range.
    * validator. Type: MethodBinding
    Indicates the JavaServer Faces validator that is called when the value is submitted. A validator ensures that the correct value is entered by a user. Choose a validator from the drop-down list. If you choose (null), no validator is called. If you choose a validator, also select the required property to ensure that the validator is used. For descriptions of JavaServer Faces validators, see the list of topics at List of Validators.
    o Note: If you define your own validate method, for example, by right-clicking the component and choosing Edit Event Handler > validate, any value you might have set in this property is overridden.
    File Upload Component
    You can drag the File Upload component "file upload component icon" from the Palette's Basic category to the Visual Designer to create an entry field and a browse button that opens a file chooser dialog on the local system, enabling the user either to select a file or to type a file name into the entry field. When the page is submitted, a copy of the file's contents is sent to the web application.
    The component is similar to an HTML <input type="file"> element.
    * Note: This component is neither supported by nor available in portlet projects due to security reasons.
    * Note: The size of the component in the Visual Designer might not match the size of the component when it is rendered in a web browser, making the component appear to line up correctly in the Visual Designer, but not when the page is rendered in the user's web browser. Also, the rendering of this component can differ depending on the web browser. Be sure to test the component in the web browsers that you expect your users to use. For example, if you add a width setting to the style property that is smaller than the setting in the columns property, Internet Explorer observes only the width setting, while the Mozilla browser ignores it and sets the width according to the number of characters in the columns property.
    The File upload component uses a filter, a com.sun.rave.web.ui.util.UploadFilter object that is configured for you in the web application's deployment descriptor. The UploadFilter uses the Apache commons fileupload package. You might need to change these settings in the following two cases:
    * The server holds the uploaded file in memory unless it exceeds 4096 bytes; otherwise, the server holds the file contents in a temporary file. You can change this threshold by modifying the sizeThreshold parameter for the UploadFilter filter entry in the web application's web.xml file.
    * By default, the File Upload component can handle files up to one megabyte in size. You can change the maximum file size by modifying the maxSize parameter for the UploadFilter filter entry in the application's web.xml file.
    o
    A negative value for the maxSize parameter indicates that there is no file size limit. Setting the parameter to a negative value is not recommended for security reasons. For example, if you allow unlimited file sizes, a malicious user could mount a denial of service attack on your site by using extremely large files
    * To change the settings for the UploadFilter object in the web.xml file:
    1. In the Files window, expand project-name > web > WEB-INF.
    2. Double-click the web.xml node to open the file in the XML editor.
    3. Click the Filters toolbar button.
    4. In the UploadFilter section under Initialization Parameters, you can change the values for the maxSize and sizeThreshold parameters.
    The contents of the uploaded file, together with some information about it, are stored in an instance of com.sun.rave.web.ui.model.UploadedFile. By using this object, you can get the content of the file as a String or write the contents to disk, as well as get properties such as the name and the size of the file. In the interest of conserving memory, the contents and file data are only available during the HTTP request in which the file was uploaded. To access the contents of the uploaded file, bind the uploadedFile property to a bean property of type com.sun.rave.web.ui.model.UploadedFile. Have the setter or an action method process the file.
    The UploadedFile interface has methods for getting the name and size of the file, determining the file's MIME type (such as text/plain or image/jpeg), getting the file's contents as bytes or as a String, and writing the contents to disk. To learn more, in the Java editor, right-click on UploadedFile in a declaration statement and choose Show JavaDoc from the pop-up menu.
    * To set the component's properties, select the component and edit its properties in the File Upload Properties Window.
    * Right-click the component and choose one of the following pop-up menu items:
    o Edit validate Event Handler. Opens the Java Editor with the cursor positioned in the component's validate method so you can insert code to validate the value of the component.
    o Set Initial Focus. Gives this component focus when the user opens the page.
    o Auto-submit on Change. Causes the form to be automatically submitted if the value of the component changes. Sets the component's JavaScript onclick property to common_timeoutSubmitForm(this.form, 'component-id');. At runtime, this code causes the form to be automatically submitted if the user changes the component value. Once the form is submitted, conversion and validation occur on the server and any value change listener methods execute, and then the page is redisplayed.
    A component configured to Auto-submit on Change can use virtual forms to limit the input fields that are processed when the form is submitted. If the auto-submit component is defined to submit a virtual form, only the participants in that virtual form will be processed when the auto-submit occurs.
    o Bind to Data. Bind the component's text property to an object or to a data provider. For more information, see Bind to Data Dialog Box.
    o Property Bindings. Bind any of the component's properties to an object or data provider, such as the uploadedFile property to a bean property of type com.sun.rave.web.ui.model.UploadedFile.
    o Configure Virtual Forms. Enables you to add the component to a virtual form.
    For more details on using the "File Upload Component" Please see this tutorial
    http://developers.sun.com/prodtech/javatools/jscreator/learning/tutorials/2/file_upload.html
    Please share your comments, experiences, additional information, questions, feedback, etc. on these components.
    ------------------------------------------------------------------------------- --------------------

    Of interest relating to file upload component to users : "Saving Uploaded Files Uploaded by the File Upload Component " Check the blog:
    http://blogs.sun.com/roller/page/divas

  • Assigning video files uploaded via a customer form to the src file section of another page (without manually having to copy an paste over)

    Hi. I’ve set up a web form that uses html and javascript. This particular form lets you upload files. I also have another page that lets you play videos. I was wondering if anyone knows how to make the inner html of for example the upload file form field equal the file that is played by the video player on the other page.
    Basically on youtube when you upload a video it automatically makes another page with the video file you uploaded assigned to the video player on that page. I want to know how to go about doing that. So people can upload videos and then be able to watch them instantly without me manually having to create the page an assigning the right file to the page.
    Even just knowing how to create a different page each time the form is submitted would be helpful. Thanks.

    This is more complex than you realize and JavaScript alone can't do it. You'll need a server-side script like PHP to authenticate and sanitize file uploads to prevent malicious scripts or malware from ever getting to your server.  Then, your script will have to process the uploaded file by saving it to a folder or database, give it a unique ID and then redirect users to a new page that pulls the file into an HTML5 or similar player.  How good are you with server-side programming?
    Nancy O.

  • File upload java errors...HEEELPPP!

    All was working fine for months, now getting java errors in my ADDT. Mostly related to file uploads, or image uploads. I found that I don't get these errors in older sites that I've worked with, but I've created a new site and started from scratch and I'm still getting them.
    Here are the errors and what I'm doing:
    *I go insert record form wizard (in ADDT)
    *One field is a date, others are text, one is an integer, one is a file field
    That works ok up to here.
    *Then I choose ADDT > File upload. I get the following error immediately: "While executing canApplyserverBehavior in kb_FileUpload.htm, a javascript error occured."
    *I click ok, the wizard box attempts to load and it give me the error: "While executing onLoad in kb_FileUpload.htm, the following javascript errors occured:
    At line 354 of the file "Macintosh HD:Applications:Adobe Dreamweaver CS3:Configuration:Shared:DeveloperToolbox:classes:triggerUtil.js":
    TypeError: hash[transactionColumn[k]].push is not a fuction.
    I'm totally tearing my hair out, not to mention not hitting deadlines with this... can anyone help. I've tried removing the fileCache, rebuilding the site cache, removing and rebuilding the includes folder, removing and reinstalling ADDT. HEEEEEELLLLLPPP.

    Hi
    Please look into this about the destination
    Pathname of directory in which to upload the file. If not an
    absolute path (starting a with a drive letter and a colon, or a
    forward or backward slash), it is relative to the ColdFusion
    temporary directory, which is returned by the GetTempDirectory
    function.

  • Unable to submit form without attachment if file upload fails

    Hi All,
    I have a form, in which I have a input file component.
    Scenario 1 - If i don't attach anything and submit the form, it is successful.
    Scenario 2 - If I attach a file of size less than 2 MB and then submit, it is successful.
    Scenario 3 - If I attach a file of size greater than 2 MB and then submit, ADF gives an error message saying " File is large" which is expected.
    3.1 - In the scenario 3, after file upload fails, I want to submit the form without attaching any file. But the form isn't submitted and the warning message always pops up.
    3.2 - If I upload file of size less than 2MB again and then submit, it is successful.
    Please help me in resolving the issue.
    Thanks,
    Harini.

    Try clearing the error messages
    <af:resource type="javascript">
    function clearMessagesForComponent(evt){
    AdfPage.PAGE.clearAllMessages();
    evt.cancel();
    </af:resource>Now all yo uneed to do is to call this javascript method e.g. using a <af:clientListener method="clearMessagesForComponent" type="focus"/>on a button or any other field.
    Timo

  • File Upload problem: JSF, IBM WPS and Portlet - Please HELP Vey Very Urgent

    I want to upload a file from the front end using JSF and Portlets deployed on IBM WebSphere Portal.
    I have used Apache's commons file upload functionality as the file upload provided in JSF doesnot work with portlets and the action event is not invoked If I keep enctype="multipart/form-data". So I included 3 forms in my Faces JSP file.
    1) h:form = For displyign error message on screen
    2) html:form = Include the enctype="multipart/form-data" and the input type file for uploading. And a submit button
    3) h:form: Here I have a command link which is remotely excuted on click of sumit button in my html form. This is to invoke the action event in the pagecode to get the bean value from the context.
    Now in the my doView method in the portlet, isMultipartContent(httpservletrequest) always returns null as the content type is text/html and not multipart. Onclick of the submit button in the the html form I am calling a javascript function which sets the __LINK_TARGET__ to the command link in the 3rd h:form which will call the page code.
    The problem here is action is invoked only when I return false from the above javascript else it will trigger for the first time and from second time onwards it will not invoke the action event in the pagecode method. Whent the javascript function returns false, the content type is always text/html. However if I return "true" from the javascript the content type is multipart/form-data, but the action is not triggered for the second time. So basically when the javascript functions returns true, for the first click everything works perfectly. When it returns false, the content type is text/html, but the action is invoked in the page code every time.
    Returning always true would solve my problem with the content type, but the action with the command link will not get invoked always as its some type of problem with h:commanLink :(.
    I guess I gave too much info. Heres my code stepby step.
    Can somebody please tell me , how I should also invoke the action in the page code and get the content type as "multipart/form-data" at the same time.
    1:
    ======================= Faces JSP File: BPSMacro.jsp ====================
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <meta name="GENERATOR" content="IBM Software Development Platform">
    <meta http-equiv="Content-Style-Type" content="text/css">
    <%@taglib uri="http://java.sun.com/portlet" prefix="portlet"%>
    <%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt"%>
    <%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@taglib uri="http://www.ibm.com/jsf/html_extended" prefix="hx"%>
    <%@taglib uri="/WEB-INF/tld/j4j.tld" prefix="j4j"%>
    <%@taglib uri="/WEB-INF/tld/core.tld" prefix="core"%>
    <%@page language="java" contentType="text/html; charset=ISO-8859-1"
         pageEncoding="ISO-8859-1" session="false"%>
    <portlet:defineObjects />
    <link rel="stylesheet" type="text/css"
         href='<%= renderResponse.encodeURL(renderRequest.getContextPath() + "/theme/stylesheet.css") %>'
         title="Style">
    <script type="text/javascript">
    function formSubmit() {
         var formName2 = document.getElementById("proxy_form_main_").title;
         var formName1 = document.getElementById("BPSMacroFormId").title;
         document.getElementById("__LINK_TARGET__").value = document.getElementById("proxy_HD_COMMAND_").title;
         document.getElementById(formName2).submit();
         return false;
    </script>
    <f:view>
         <hx:scriptCollector id="bpsMacroScriptCollector">
              <f:loadBundle var="bps" basename="bordereauprocessingsystem" />
              <table bgcolor="#FFF9C3">
                   <tr>
                        <td><h:form id="BPSMacroFormMain" styleClass="form">
                             <table class="tablemiddle" cellspacing="0" cellpadding="0">
                                  <tr>
                                       <td><h:messages layout="table" styleClass="errormessage"
                                                 id="ValidationErrorMsg" /> </td>
                                  </tr>
                             </table>
                             <j4j:idProxy id="proxy_form_main_0_" />
                        </h:form></td>
                   </tr>
                   <tr>
                        <td>
                        <form id="BPSMacroFormId" enctype="multipart/form-data">
                        <table bgcolor="#FFF9C3">
                             <tr>
                                  <td height="36" width="324">Worksheet <input type="file"
                                       name="upfile" /></td>
                             </tr>
                                  <tr>
                                       <td align="center" width="324"><input TYPE="submit"
                                       onclick="return formSubmit();" value="Upload">
                                  </td>
                             </tr>
                        </table>
                        </form>
                        </td>
                   </tr>
                   <tr>
                        <td>
                        <h:form id="BPSMacroFormMain2" styleClass="form">
                             <table cellspacing="2" cellpadding="2" class="tablemiddle">
                                  <tbody>
                                       <tr>
                                            <td colspan="2" align="center"><h:commandLink
                                                 styleClass="commandLink" id="lnkuserdelete"
                                                 action="#{pc_BPSMacro.doIdUpload1Action}">
                                                 <hx:graphicImageEx
                                                      styleClass="graphicImageEx" id="imgBtnCreateUser"
                                                      value="/theme/images/btnUpload.gif" style="border:0;cursor:pointer"></hx:graphicImageEx>
                                                 <j4j:idProxy id="proxy_HD_COMMAND_" />
                                            </h:commandLink></td>
                                            <h:inputHidden id="dtSize"
                                                 value="#{pc_BPSMacro.fileDetailsList.clicked}">
                                                 <j4j:idProxy id="proxy_clicked_" />
                                            </h:inputHidden>
                                       </tr>
                                  </tbody>
                             </table>
                             <j4j:idProxy id="proxy_form_main_" />
                        </h:form>
                   </td>
                   </tr>
              </table>
         </hx:scriptCollector>
    </f:view>
    ================== END: FACES JSP FILE: BPSMacro.jsp ========================
    2:
    =================== Action event in the Page Code: BPSMacro.java ============
    public String doIdUpload1Action() {
              System.out.println("PageCode");
              FacesContext context = FacesContext.getCurrentInstance();
              BPSMacroDetailsDataBean fileDetails = (BPSMacroDetailsDataBean)context.getApplication().createValueBinding("#{fileDetails}").getValue(context);
              BPSMacroListDataBean fileDetailsList = (BPSMacroListDataBean)context.getApplication().createValueBinding("#{fileDetailsList}").getValue(context);
              PortletSession sess = (PortletSession)context.getExternalContext().getSession(false);
              sess.setAttribute("BPS_MACRO_CONTEXT", context, PortletSession.APPLICATION_SCOPE);
              sess.setAttribute("BPS_MACRO_FILE_DETAILS", fileDetails, PortletSession.APPLICATION_SCOPE);
              sess.setAttribute("BPS_MACRO_FILE_LIST", fileDetailsList, PortletSession.APPLICATION_SCOPE);
              HttpServletRequest request = (HttpServletRequest)context.getExternalContext().getRequest();
              boolean isMultipart = ServletFileUpload.isMultipartContent(request);
              request.getContentType();
              return "gotoBPSMacro";
    ============== END Of Page Code Action event ==============================
    3:
    ============== doView() Portlet method ================================
    public void doView(RenderRequest arg0, RenderResponse arg1)
         throws PortletException, IOException {
              String METHOD_NAME = "doView(RenderRequest arg0, RenderResponse arg1)";
              Logger.debug(this.getClass(), METHOD_NAME, "Entering BPSMacroPortlet");
              FacesContext context = FacesContext.getCurrentInstance();      
              PortletSession sess1 = arg0.getPortletSession(true);
              BPSMacroDetailsDataBean fileDetails = new BPSMacroDetailsDataBean();
              BPSMacroListDataBean fileDetailsList = new BPSMacroListDataBean();
              context = (FacesContext)sess1.getAttribute("BPS_MACRO_CONTEXT", PortletSession.APPLICATION_SCOPE);
              if(context != null){
                   fileDetails = (BPSMacroDetailsDataBean)sess1.getAttribute("BPS_MACRO_FILE_DETAILS", PortletSession.APPLICATION_SCOPE);
                   fileDetailsList = (BPSMacroListDataBean)sess1.getAttribute("BPS_MACRO_FILE_LIST", PortletSession.APPLICATION_SCOPE);
              sess1.removeAttribute("BPS_MACRO_CONTEXT", PortletSession.APPLICATION_SCOPE);
              sess1.removeAttribute("BPS_MACRO_FILE_DETAILS", PortletSession.APPLICATION_SCOPE);
              sess1.removeAttribute("BPS_MACRO_FILE_LIST", PortletSession.APPLICATION_SCOPE);
              HttpServletRequest servletRequest = (HttpServletRequest)arg0;
              PortletRequest pReq = (PortletRequest)arg0;
              HttpServletResponse servletResponse= (HttpServletResponse)arg1;
              System.out.println("\n\n Content Type" + servletRequest.getContentType());
              try{
                   if(context != null){
              boolean isFileMultipart = ServletFileUpload.isMultipartContent(servletRequest);
              System.out.println("\nFILE TO BE UPLOADED IS MULTIPART ? " + isFileMultipart);
              if(isFileMultipart){
                   FileItemFactory factory = new DiskFileItemFactory();
                   ServletFileUpload upload = new ServletFileUpload(factory);
                   List items = upload.parseRequest(servletRequest);
                   Iterator iterator = items.iterator();
                   while (iterator.hasNext()) {
                        FileItem item = (FileItem) iterator.next();
                        InputStream iStream = item.getInputStream();
                        ByteArrayOutputStream ByteArrayOS = new ByteArrayOutputStream();
                        int sizeofFile =(int) item.getSize();
                        byte buffer[] = new byte[sizeofFile];
                        int bytesRead = 0;
                        while( (bytesRead = iStream.read(buffer, 0, sizeofFile)) != -1 )
                             ByteArrayOS.write( buffer, 0, bytesRead );
                        String data = new String( ByteArrayOS.toByteArray() );
                        int k = 0;
                        //Check if the file is Refund or Premium
                        int dynamicArraySize = 0;// = st2.countTokens() * 9;
                        dynamicArraySize = st2.countTokens() * 9;
                        if (!item.isFormField() ){
                             File cfile=new File(item.getName());
                             String fileName = "";
                             String separator = "\\";
                             int pos = item.getName().lastIndexOf(separator);
                             int pos2 = item.getName().lastIndexOf(".");
                             if(pos2>-1){
                                  fileName =item.getName().substring(pos+1, pos2);
                             }else{
                                  fileName =item.getName().substring(pos+1);
                             File fileToBeUploaded=new File("C:\\Sal\\BPS MACRO\\FileTransfer\\Desti", fileName);
                             item.write(fileToBeUploaded);
                             validate.displaySuccessMessage(context);
              }catch(Exception e){System.out.println(e);
              Logger.debug(this.getClass(), METHOD_NAME, "Leaving BPSMacroPortlet");
              super.doView(arg0, arg1);
    ==== END: doView method in the portle class. ================================
    Thanks.

    one more question. Is there a way where I can submit two forms ?
    Thats is submit 2nd form only when the first form is submitted.
    I tried this it works.
    function formSubmit(){
    document.form1.submit();
    alert();
    document.form2.submit();
    But If I dont put an alert(basically it disables the parent page) in between, only the second form is submitted.
    If I put a delay of say 3 seconds in between then it will throw a SOCKET CLOSED error in the code triggered due to first form submit.
    Thus disabling the paresnt page for a few seconds is reolving my problem.
    Any ideas ?
    Well Basically when the Alert pop's up the parent page "STALLS" and thus the form2 does not submit till I click on OK, Is there a way I can stall the browser/Parent JSP page using JAVA SCRIPT ??
    Edited by: hector on Oct 9, 2007 11:09 AM
    Edited by: hector on Oct 9, 2007 2:12 PM

  • Possible to show file upload progress for web form submission?

    I just made a simple form as a test. There are 3 files being submitted here via a "web form".
    Files being uploaded in this case are of these sizes:
    110MB
    9MB
    24MB
    I'm testing functionality that will let a print shop's clients upload their files. For larger files they'll use FTP but this "order form" does a lot of business for them so we're trying to replicate in BC.
    My problem is that I am wondering if there is a way to show the "upload progress" as a total %. Such as a visual status bar, etc.
    As of now the only way it's showing is in the default browser status bar (chrome in this case):
    http://cl.ly/image/1d3U0S1h2521
    I read somewhere that the limit is 150MB for an upload. Wondering if that means 150MB TOTAL as in 3 files combined in my case. Or If I chose to allow 3 files to be attached would it allow for 450MB?
    Also, if you do a user submitted web app instead and allow people to attach files that way, does the same file limit apply?
    My second issue is that the upload speed seems to be SLOW. I know it's not my connection because on my non BC site as well as another with the same form, the files upload fairly fast. But on BC it just crawls and on a few tests I get this:
    http://cl.ly/image/2T2q160M1R1n
    Any help or suggestions with the file upload progress as well as file upload speed would be appreciated.
    Thanks!

    So if i have 3 files to be uploaded, the max allowed is 750MB correct? (just wondering if when uploading its 250mb total or per file).
    Guess i'll do something fake to make it appear its working with a loading graphic or something.
    My web browser (chrome in this case) shows the % uploaded. I wonder if all web browsers do the same. I havent tested yet.
    If only there were a way to have javascript or something grab that same #% from the web browser itself and just format it to appear where I want on the form along with the % uploading.
    Anyone know if that's possible?
    Here's where Chrome for mac shows it:
    http://cl.ly/image/1c3i3x25262j
    If I could grab that (uploading 19%) from the browser and format it into css/html i'd be gold.
    Then find if similar browsers do the same and write some js for each browser specifically to grab it.
    In a perfect world at least....

  • Weird Timing Issue with Custom Javascript Files

    I have attached a static javascript file to my application using the Shared Components...Static Files facility in APEX. This is working. I can call methods in my JavaScript file and they work as expected.
    The issue is that if I ever want to have JavaScript run when the page is loaded, it is as if the javascript is not in place yet when the method is called. For example, I want to set some some style characteristics of a few common fields that occur on more than one page, if I add a button to the page that I click to call the method (and don't select "Fire on Page Load"), this works fine. However, if I do select "Fire on Page Load", the javascript is invalid.
    I have tried After Refresh of the region which seems like it would work but, this event fires before* the javascript is available.
    How can I load the page, including the javascript reference, and then call the javascript method?
    -Joe
    Edited by: Joe Upshaw on Apr 3, 2012 12:49 PM

    WR,
    I think the latter, adding it to the template, sounds like the better solution. (I am using Application Express 4.1.1.00.23 BTW).
    Now for the newbie questions...
    I am trying to figure out exactly where to make this change. So, I had a couple of questions.
    1. I went into Shared Components>Templates. Then, I scrolled down to the section labelled Page. I see that the default checkmark is beside "No Tabs - Right Sidebar" so, I click this and I do indeed find a <HEAD> section defined. Is this where I need to add the reference to the javascript file?
    2. I assume I need to upload the static file to the server. Right now, I have uploaded it via the Shared Components>Static Files selection. When I add it now, I am doing this:
    var headElement = document.getElementsByTagName("head")[0];
    var currentCommonRiskPos = currentHeadHTML.indexOf( 'commonRisk.js', 0 );
    if ( currentCommonRiskPos == -1 )
       var jsRiskCommon = document.createElement( 'script' );
       jsRiskCommon.id = 'commonRisk.js';
       jsRiskCommon.setAttribute( "type","text/javascript" );
       jsRiskCommon.setAttribute("src", "#APP_IMAGES#commonRisk.js" );
       headElement.appendChild(jsRiskCommon);
    }See how I used "#APP_IMAGES#"? I am assuming that this would not work from the page template, correct? For example, in the template currently, I see:
    <script src="#IMAGE_PREFIX#themes/theme_24/js/4_1.js"></script>I am assuimng that I should upload my JS file somewhere in the images folder and reference it in the same way, right? For example:
    <script src="#IMAGE_PREFIX#JoesStuff/js/HellowWorld.js"></script>Does all of this sound correct?
    Thanks,
    -Joe

Maybe you are looking for