skitzo
24 Aug 2008, 6:07 AM
I have noticed that when using an Ext.MessageBox.prompt that after entering some text, the tab key doesn't bring you down to the 'ok' button.
Example:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="lib/ext/resources/css/ext-all.css" />
<script type="text/javascript" src="lib/ext/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="lib/ext/ext-all-debug.js"></script>
<script type="text/javascript">
Ext.onReady(function(){
Ext.MessageBox.prompt("Tab Text", "Enter some text then hit 'TAB'");
});
</script>
</head>
<body>
</body>
</html>
There is probably a better way, but this is how I fixed the problem:
in ext-all-debug.js,
in Ext.MessageBox = function(){,
in getDialog:
I changed these lines:
buttons["ok"] = dlg.addButton(bt["ok"], handleButton.createCallback("ok"));
buttons["yes"] = dlg.addButton(bt["yes"], handleButton.createCallback("yes"));
buttons["no"] = dlg.addButton(bt["no"], handleButton.createCallback("no"));
buttons["cancel"] = dlg.addButton(bt["cancel"], handleButton.createCallback("cancel"));
to
buttons["ok"] = dlg.addButton({text: bt["ok"], tabIndex: 1}, handleButton.createCallback("ok"));
buttons["yes"] = dlg.addButton({text: bt["yes"], tabIndex: 1}, handleButton.createCallback("yes"));
buttons["no"] = dlg.addButton({text: bt["no"], tabIndex: 2}, handleButton.createCallback("no"));
buttons["cancel"] = dlg.addButton({text: bt["cancel"], tabIndex: 2}, handleButton.createCallback("cancel"));
Example:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="lib/ext/resources/css/ext-all.css" />
<script type="text/javascript" src="lib/ext/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="lib/ext/ext-all-debug.js"></script>
<script type="text/javascript">
Ext.onReady(function(){
Ext.MessageBox.prompt("Tab Text", "Enter some text then hit 'TAB'");
});
</script>
</head>
<body>
</body>
</html>
There is probably a better way, but this is how I fixed the problem:
in ext-all-debug.js,
in Ext.MessageBox = function(){,
in getDialog:
I changed these lines:
buttons["ok"] = dlg.addButton(bt["ok"], handleButton.createCallback("ok"));
buttons["yes"] = dlg.addButton(bt["yes"], handleButton.createCallback("yes"));
buttons["no"] = dlg.addButton(bt["no"], handleButton.createCallback("no"));
buttons["cancel"] = dlg.addButton(bt["cancel"], handleButton.createCallback("cancel"));
to
buttons["ok"] = dlg.addButton({text: bt["ok"], tabIndex: 1}, handleButton.createCallback("ok"));
buttons["yes"] = dlg.addButton({text: bt["yes"], tabIndex: 1}, handleButton.createCallback("yes"));
buttons["no"] = dlg.addButton({text: bt["no"], tabIndex: 2}, handleButton.createCallback("no"));
buttons["cancel"] = dlg.addButton({text: bt["cancel"], tabIndex: 2}, handleButton.createCallback("cancel"));