PDA

View Full Version : [Solved] Several issues with NumberField


alexb
07-21-2007, 07:19 AM
1. It's possible to select text in IE6, but not in FF
2. It's possible to enter 00.
3. When maxValue is not specified and grow: false, something grows around the field (table cell??) when a large number is entered, i.e. 123456789654321654.....
4. A field returns '' when it's value is 0
In the example below (the 2nd row): change 0 to 1 in the 1st field, then change 0 to 1 in the 2nd field


<FORM action='' method=post>


<DIV id=content>
<STYLE>TABLE {
WIDTH: 100%
}
TABLE CAPTION {
FONT-WEIGHT: bold; TEXT-ALIGN: center
}
.t {
PADDING-RIGHT: 5px; PADDING-LEFT: 5px
}
TD INPUT {
WIDTH: 50%; TEXT-ALIGN: right
}
TR.a {
BACKGROUND-COLOR: #fff
}
TR.b {
BACKGROUND-COLOR: #fafafa
}
TD.gc {
WIDTH: 100px; TEXT-ALIGN: center
}
TH.gc {
WIDTH: 100px; TEXT-ALIGN: center
}
</STYLE>

<DIV class=listcontrol>
<DIV class=inner>
<TABLE class=collapsedBorder rules=rows align=center>
<CAPTION>c1c1 can can can can can can can can can can can can can can can can
can </CAPTION>
<THEAD>
<TR>
<TH class=t>ID</TH>
<TH class=t>name</TH>
<TH class=gc noWrap>Gr 1</TH>
<TH class=gc noWrap>Gr 2</TH>
<TH class=gc>Gr</TH>
<TH class=t></TH></TR></THEAD>
<TBODY>
<TR class=a>
<TD class=t width=30>07BD001</TD>
<TD class=t noWrap>07BD001 0. 0. </TD>
<TD class=gc><INPUT class=gr
id=ctl00_ContentPane_ctl00_rptItems_ctl01_txtGrade 1 value=1
name=ctl00$ContentPane$ctl00$rptItems$ctl01$txtGra de1> </TD>
<TD class=gc><INPUT class=gr
id=ctl00_ContentPane_ctl00_rptItems_ctl01_txtGrade 2 value=2
name=ctl00$ContentPane$ctl00$rptItems$ctl01$txtGra de2> </TD>
<TD class=gc><INPUT class=gr
id=ctl00_ContentPane_ctl00_rptItems_ctl01_txtGrade 3 value=3
name=ctl00$ContentPane$ctl00$rptItems$ctl01$txtGra de3> </TD>
<TD class=t width=30><SPAN class=total>30</SPAN> </TD></TR>
<TR class=b>
<TD class=t width=30>07BD002</TD>
<TD class=t>07BD002 0. 0. </TD>
<TD class=gc><INPUT class=gr
id=ctl00_ContentPane_ctl00_rptItems_ctl02_txtGrade 1 value=0
name=ctl00$ContentPane$ctl00$rptItems$ctl02$txtGra de1> </TD>
<TD class=gc><INPUT class=gr
id=ctl00_ContentPane_ctl00_rptItems_ctl02_txtGrade 2 value=0
name=ctl00$ContentPane$ctl00$rptItems$ctl02$txtGra de2> </TD>
<TD class=gc><INPUT class=gr
id=ctl00_ContentPane_ctl00_rptItems_ctl02_txtGrade 3 value=0
name=ctl00$ContentPane$ctl00$rptItems$ctl02$txtGra de3> </TD>
<TD class=t width=30><SPAN class=total>30</SPAN>
</TD></TR></TBODY></TABLE></DIV></DIV>
<SCRIPT type=text/javascript>
addNamespace("ASoft.Instructor");
ASoft.Instructor.Grades = function(){
var items = [];
var locked = false;
var gradingType = 4;

return {

init : function(){

Ext.each(
Ext.query('input.gr'),
this.setFields,
this
);
},

getDisabledState : function(index){
if(locked){
return true;
}else{
if(gradingType==4){
return false;
}
if(index==gradingType-1){
return false;
}
}
return true;
},

setFields : function(item, index, arr){
var field = new Ext.form.NumberField({
grow: false,
//maxValue: 100,
minValue : 0,
readOnly : this.getDisabledState(index%3),
disabled :this.getDisabledState(index%3),
value : parseFloat(item.value),
allowBlank:false,
allowDecimals : true,
allowNegative : false
});
field.on("change", this.onchange, this);

field.applyTo(item);
items.push(field);
return true;
},

onchange : function(f, newValue, oldValue){
var index = items.indexOf(f);
var pos = index%3;

var sum = newValue;
switch(pos){
case 0:
sum += items[index+1].getValue() + items[index+2].getValue();
break;
case 1:
//alert(items[index-1].getValue());
//alert(items[index+0].getValue());
alert('3 ' + items[index+1].el.id);
sum += items[index-1].getValue() + items[index+1].getValue();
break;
case 2:
sum += items[index-1].getValue() + items[index-2].getValue();
break;
}
alert(sum);
}

};
}();
Ext.onReady(ASoft.Instructor.Grades.init, ASoft.Instructor.Grades, true);
</SCRIPT>
</DIV>
</FORM>

jack.slocum
07-21-2007, 11:39 AM
http://extjs.com/forum/showthread.php?t=8887

jack.slocum
07-21-2007, 11:44 AM
1. Already fixed in SVN.

2. Not sure about that one. I will look into it.

3. If grow is false, it is not Ext causing the resize. Sounds like a browser bug with a table.

4. Already fixed in SVN.

alexb
07-23-2007, 01:01 AM
Will these fixes be included in 1.1?

alexb
08-02-2007, 12:51 AM
Were these changes included into 1.1 final? I checked yesterday and the issue #4 was still there...

jack.slocum
08-02-2007, 03:25 AM
#4 was fixed in some cases, but not all. I just commited another fix that should cover all. It will be in the first 1.1 bug fix release which should happen quickly.