Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Possible V7 IE Bug

    Hi

    Whilst working, I wanted to load the DevConsole in IE. However, I found that whilst the page ran in FireFox, it failed in IE. I stripped the code to the bare minimum to reproduce the problem. If you look in the fields array, the button field seems to be causing the problem. It runs fine in FireFox but not in IE (the IE DevConsole log data is below the code).

    HTH

    Code:
    isc.DynamicForm.create({
        ID: "standForm",
        autoDraw: false,
        width: 250,
    	data: [
    	{ StandName: "Traffy Peel"},
    	{ StandLocation: "Trafford Centre" }
    	],
        fields: [
    	{ name: "StandName" }, 
    	{ name: "StandLocation" },
    	{ name: "StandCode" },
    	{ name: "StandPhone" },
    	{ name: "StandFax" },
    	{ name: "StandEmail" }
    
    	// Including the following field definition works in Firefox
    	// but not in IE7 (on Vista)
    
    	,{
            name: "saveBtn",
            title: "Save",
    		colSpan: 2,
    		align: "right",
    		startRow: true,
            type: "button",
            click: function() {
    		standForm.saveData(null, function (dsResponse, data, dsRequest) {
                              standForm.setValues(data);
    						  standForm.editRecord(data);
    						  },
    		{ useHttpProxy: true });
            }
        }
    
    	]
    });
    
    isc.HLayout.create({
            showEdges:true,
            height:250, membersMargin:5,  layoutMargin:10,
            members:[
    			standForm
            ]
        })
    11:44:16.258:INFO:Log:initialized
    11:44:17.600:WARN:Element:HTML{nodeName:HTML}{scrollHeight: 244, currentStyle: Obj, document: Obj{nodeName:#document}, clientHeight: 623, clientWidth: 1175, scopeName: "HTML", tagName: "HTML", offsetWidth: 1175, runtimeStyle: Obj, clientTop: 2, style: Obj, clientLeft: 2, readyState: "complete", all: Obj{length:79}, outerHTML: "<HTML><HEAD><TITLE>Untitled Document</TI..."[11561], innerHTML: "<HEAD><TITLE>Untitled Document</TITLE>\r\n..."[11548], offsetHeight: 623, scrollWidth: 1175, children: Obj{length:2}, nodeName: "HTML", ownerDocument: Obj{nodeName:#document}, firstChild: [HEADElement]{nodeName:HEAD}, lastChild: [BODYElement]{nodeName:BODY}, childNodes: Obj{length:2}, parentNode: Obj{nodeName:#document}, nodeType: 1, previousSibling: [!Element]{nodeName:#comment}, attributes: Obj{ID:[object]}}
    11:44:17.678:WARN:Log:Error:
    'Object required'
    in http://localhost:9090/examples/gcw/stand_ie.html
    at line 1663
    Element.getOffsetLeft(_1=>[SPANElement]{ID:isc_ButtonItem_7$18z})
    Element.$yw(_1=>"left", _2=>[SPANElement]{ID:isc_ButtonItem_7$18z}, _3=>[DIVElement]{ID:isc_1}, _4=>false)
    Element.$s4(_1=>[SPANElement]{ID:isc_ButtonItem_7$18z}, _2=>[DIVElement]{ID:isc_1}, _3=>undef)
    "return this.$yw(isc.Canvas.LEFT,_1,_2,_3)"
    CanvasItem.placeCanvas(_1=>undef)
    DynamicForm.$11c(_1=>"placeCanvas")
    "if(!isc.CanvasItem)return;for(var i=0;i<this.items.length;i++){var _3=this.items[i];if(_3&&isc.isA.CanvasItem(_3))_3[_1]()}"
    DynamicForm.$103()
    DynamicForm.modifyContent()
    "this.$103()"
    Canvas.$qa()
    Canvas.draw(_1=>undef, undef, undef, undef, undef, undef, undef, undef)
    Class.invokeSuper(_1=>[Class DynamicForm], _2=>"draw", _3=>undef, _4=>undef, _5=>undef, _6=>undef, _7=>undef, _8=>undef, _9=>undef, _10=>undef)
    DynamicForm.draw(_1=>undef, _2=>undef, _3=>undef, _4=>undef)
    Layout.layoutChildren(_1=>"initial draw", _2=>undef, _3=>undef)
    Layout.drawChildren()
    ** recursed on Canvas.draw

    11:44:17.709:INFO:Log:isc.Page is loaded

    #2
    Can you be more specific about what problem you're seeing? I pasted that simple example into a clean JSP and it seems to work in all the browsers I tried it with (including IE7 on Vista). Also, what version are you using?

    Comment


      #3
      Originally posted by Isomorphic
      Can you be more specific about what problem you're seeing? I pasted that simple example into a clean JSP and it seems to work in all the browsers I tried it with (including IE7 on Vista). Also, what version are you using?
      When I run the code (pasted in full, below) in Firefox, I see the simple form. If I run it in IE, I see nothing at all (blank page) and an error indication (yellow exclamation mark) at the bottom left of the IE window.

      IE v-7.0.6001.18000

      As you can see from the code, I am running an HTML page, not a JSP. Maybe using the code below will reveal a difference.

      HTH.

      Code:
      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
      <html>
      	<head>
      		<SCRIPT>var isomorphicDir="../../isomorphic/";</SCRIPT>
      		<SCRIPT SRC=../../isomorphic/system/modules/ISC_Core.js></SCRIPT>
      		<SCRIPT SRC=../../isomorphic/system/modules/ISC_Foundation.js></SCRIPT>
      		<SCRIPT SRC=../../isomorphic/system/modules/ISC_Containers.js></SCRIPT>
      		<SCRIPT SRC=../../isomorphic/system/modules/ISC_Grids.js></SCRIPT>
      		<SCRIPT SRC=../../isomorphic/system/modules/ISC_Forms.js></SCRIPT>
      		<SCRIPT SRC=../../isomorphic/system/modules/ISC_DataBinding.js></SCRIPT>
      		<SCRIPT SRC=../../isomorphic/skins/SmartClient/load_skin.js></SCRIPT>	
      		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      		<title>Untitled Document</title>
      	</head>
      	<body>
      		<script type="text/javascript">
      
      isc.DynamicForm.create({
          ID: "standForm",
          autoDraw: false,
          width: 250,
      	data: [
      	{ StandName: "Traffy Peel"},
      	{ StandLocation: "Trafford Centre" }
      	],
          fields: [
      	{ name: "StandName" }, 
      	{ name: "StandLocation" },
      	{ name: "StandCode" },
      	{ name: "StandPhone" },
      	{ name: "StandFax" },
      	{ name: "StandEmail" }
      
      	// Including the following field definition works in Firefox
      	// but not in IE7 (on Vista)
      
      	,{
              name: "saveBtn",
              title: "Save",
      		colSpan: 2,
      		align: "right",
      		startRow: true,
              type: "button",
              click: function() {
      		standForm.saveData(null, function (dsResponse, data, dsRequest) {
                                standForm.setValues(data);
      						  standForm.editRecord(data);
      						  },
      		{ useHttpProxy: true });
              }
          }
      
      	]
      });
      
      isc.HLayout.create({
              showEdges:true,
              height:250, membersMargin:5,  layoutMargin:10,
              members:[
      			standForm
              ]
          })
      				
      		</script>
      	</body>
      </html>

      Comment


        #4
        Just bumping this in case my last reply is of help to the Isomorphic folks.

        Comment


          #5
          Hi Henryville
          Thanks for the test case.
          The problem is due to a bug in 7.0beta which we've since resolved in our mainline code. It's actually an issue which only applies to pages in strict mode - you can temporarily work around this by removing the doctype specification, and the bug will be fixed for 7.0 final

          Regards
          Isomorphic

          Comment


            #6
            No problem - glad to help.

            Comment

            Working...
            X