Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#8479 closed defect (worksforme)

dojox.widget.Standby breaks IE 7 10-21-2009 nightly build

Reported by: ecarew Owned by: Jared Jurkiewicz
Priority: high Milestone: tbd
Component: DojoX Widgets Version: 1.2.3
Keywords: IE 7 Standby div Cc: ecarew@…
Blocked By: Blocking:

Description

When implementing a dojox.widget.Standby on a text field, as described in the documentation, IE displays a phantom div at the bottom of the screen, and doesn't put the field in standby mode. Cool feature in Firefox! Unfortunately for me, the app I'm developing for my company will displayed mostly on IE 7.

Attachments (3)

test_StandbyTextBox.html (2.2 KB) - added by Jared Jurkiewicz 10 years ago.
Testcase showing it working fine on IE 7 (for me)
test_StandbyTextBox.2.html (2.9 KB) - added by Jared Jurkiewicz 10 years ago.
Updated testcase including overlaying even the generic HTML textbox.
sdrd.html (38.2 KB) - added by ecarew 10 years ago.
File which breaks IE7, but not Firefox 3

Download all attachments as: .zip

Change History (10)

comment:1 Changed 10 years ago by dante

Owner: changed from dante to Jared Jurkiewicz

comment:2 Changed 10 years ago by Jared Jurkiewicz

Do you have a simple testcase? Are they dijit.form.TextBox?'es or straight textboxes?

-- Jared

Changed 10 years ago by Jared Jurkiewicz

Attachment: test_StandbyTextBox.html added

Testcase showing it working fine on IE 7 (for me)

comment:3 Changed 10 years ago by Jared Jurkiewicz

Resolution: worksforme
Status: newclosed

I just attached a testcase that shows it working fine for me in both a programmatic and declarative sense.

Did you import the Standby.css? Its important for the widget as it declares out the positioning information.

Did you call startup() after you attached it into the document (Only matters if you created it programmatically). Startup handles a lot of config detail and positioning basics.

If you have verified all the above and still have issues, please provide a simple testcase demonstrating the issue on IE and I'll try to track it down.

Changed 10 years ago by Jared Jurkiewicz

Attachment: test_StandbyTextBox.2.html added

Updated testcase including overlaying even the generic HTML textbox.

comment:4 in reply to:  3 ; Changed 10 years ago by ecarew

Resolution: worksforme
Status: closedreopened

Replying to jaredj:

I just attached a testcase that shows it working fine for me in both a programmatic and declarative sense.

Did you import the Standby.css? Its important for the widget as it declares out the positioning information.

yes

Did you call startup() after you attached it into the document (Only matters if you created it programmatically). Startup handles a lot of config detail and positioning basics.

I didn't use startup, but used show.

If you have verified all the above and still have issues, please provide a simple testcase demonstrating the issue on IE and I'll try to track it down.

I've used your test case code and now have the case where the code doesn't work in either firefox3 or IE7.

So, for instance, if I use the following code in my markup:

<td>

<input dojotype="dijit.form.DateTextBox?" required="true" style="width:90px;" disabled='true' Name="ReqDate?" id="ReqDate?"> <div id='basicStandby' dojoType='dojox.widget.Standby' target='ReqDate?' image= imageText=></div>

</td>

Then the following code in my javascript:

var basicStandby = new dojox.widget.Standby({target: "ReqDate?"}); document.body.appendChild(basicStandby.domNode); basicStandby.startup(); var basicStandby2 = new dojox.widget.Standby({target: "requestor"}); document.body.appendChild(basicStandby2.domNode); basicStandby2.startup(); basicStandby.show(); basicStandby2.show();

It now works, but only with the show() function, and I can't seem to get it to work without the little image thingy over the fields that represents the wait / stanby image. Note that my markup attempts to get rid if this, and in my previous code, which worked in firefox, that part at least was functional. Oh yeah, its still broken in IE7.

comment:5 in reply to:  4 Changed 10 years ago by ecarew

Replying to ecarew:

Replying to jaredj:

I just attached a testcase that shows it working fine for me in both a programmatic and declarative sense.

Did you import the Standby.css? Its important for the widget as it declares out the positioning information.

yes

Did you call startup() after you attached it into the document (Only matters if you created it programmatically). Startup handles a lot of config detail and positioning basics.

I didn't use startup, but used show.

If you have verified all the above and still have issues, please provide a simple testcase demonstrating the issue on IE and I'll try to track it down.

I've used your test case code and now have the case where the code doesn't work in either firefox3 or IE7.

So, for instance, if I use the following code in my markup:

<td>

<input dojotype="dijit.form.DateTextBox?" required="true" style="width:90px;" disabled='true' Name="ReqDate?" id="ReqDate?"> <div id='basicStandby' dojoType='dojox.widget.Standby' target='ReqDate?' image= imageText=></div>

</td>

Then the following code in my javascript:

var basicStandby = new dojox.widget.Standby({target: "ReqDate?"}); document.body.appendChild(basicStandby.domNode); basicStandby.startup(); var basicStandby2 = new dojox.widget.Standby({target: "requestor"}); document.body.appendChild(basicStandby2.domNode); basicStandby2.startup(); basicStandby.show(); basicStandby2.show();

It now works, but only with the show() function, and I can't seem to get it to work without the little image thingy over the fields that represents the wait / stanby image. Note that my markup attempts to get rid if this, and in my previous code, which worked in firefox, that part at least was functional. Oh yeah, its still broken in IE7.

Ok, I got the issue with the wait / standby spinner solved by plugging in the attributes I already had put in the markup into the javascript object instance. IE7 remains confused.

Changed 10 years ago by ecarew

Attachment: sdrd.html added

File which breaks IE7, but not Firefox 3

comment:6 Changed 10 years ago by Jared Jurkiewicz

Resolution: worksforme
Status: reopenedclosed

Thanks for the page. Unfortunately, that page doesn't load in IE at all. I get an 'unknown JS error' reported from Javascript and init halts. Can you provide a simpler testcase that loads on IE completely? (I ran against 1.3/trunk, since that is where Standby appears).

Secondly, I'm not sure you're using Standby for what its intention was ... you don't need it to block access to a form field, you can just as easily do:

Disable a field var field = dijit.byId("someField"); field.attr("disabled", true);

..

Enable a field var field = dijit.byId("someField"); field.attr("disabled", false);

You don't need to overlay block it.

Also, you seem to be defining them in both JS AND declarative. That isn't necessary. Do one or the other.

comment:7 in reply to:  6 Changed 10 years ago by ecarew

Replying to jaredj:

Thanks for the page. Unfortunately, that page doesn't load in IE at all. I get an 'unknown JS error' reported from Javascript and init halts. Can you provide a simpler testcase that loads on IE completely? (I ran against 1.3/trunk, since that is where Standby appears).

<sigh>. Ok, perhaps you've given me my answer after all. I'll just go back to the less elegant, but servicable disabled field + hidden variable. Thanks for your help tho. I'll have a look once its a little bit more mature.

Secondly, I'm not sure you're using Standby for what its intention was ... you don't need it to block access to a form field, you can just as easily do:

Disable a field var field = dijit.byId("someField"); field.attr("disabled", true);

..

Enable a field var field = dijit.byId("someField"); field.attr("disabled", false);

You don't need to overlay block it.

Also, you seem to be defining them in both JS AND declarative. That isn't necessary. Do one or the other.

Note: See TracTickets for help on using tickets.