summaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
authorSteven Wittens <steven@10.no-reply.drupal.org>2005-09-07 13:49:39 +0000
committerSteven Wittens <steven@10.no-reply.drupal.org>2005-09-07 13:49:39 +0000
commit7f73c2bfb2ad78e8867ba25c1fb1e6848418f6da (patch)
tree9342dca28355edefeb79d13fcfaaa402236dd27e /misc
parente6f4f5ab146c44babd0a5e7865268de853b78463 (diff)
downloadbrdo-7f73c2bfb2ad78e8867ba25c1fb1e6848418f6da.tar.gz
brdo-7f73c2bfb2ad78e8867ba25c1fb1e6848418f6da.tar.bz2
Fixes for AJAX/JS stuff in Konqueror:
- Fix collapsible fieldsets (broken since to 'IE5 icons alignment' fix) - Fix JS upload (broken due to mysterious form submission abortion bug) Thanks Bèr for letting me use VNC :).
Diffstat (limited to 'misc')
-rw-r--r--misc/drupal.css5
-rw-r--r--misc/drupal.js21
-rw-r--r--misc/progress.js3
-rw-r--r--misc/upload.js6
4 files changed, 28 insertions, 7 deletions
diff --git a/misc/drupal.css b/misc/drupal.css
index f659c63f6..569a6df7b 100644
--- a/misc/drupal.css
+++ b/misc/drupal.css
@@ -619,10 +619,13 @@ html.js fieldset.collapsed legend * {
}
html.js fieldset.collapsible legend a {
padding-left: 15px;
- display: block;
background: url('menu-expanded.png') 5px 50% no-repeat;
}
html.js fieldset.collapsed legend a {
background-image: url('menu-collapsed.png');
}
+// Note: IE-only fix due to '* html' (breaks Konqueror otherwise).
+* html.js fieldset.collapsible legend a {
+ display: block;
+}
diff --git a/misc/drupal.js b/misc/drupal.js
index 4007817c4..f685490c3 100644
--- a/misc/drupal.js
+++ b/misc/drupal.js
@@ -108,9 +108,19 @@ function HTTPPost(uri, object, callbackFunction, callbackParameter) {
*/
function redirectFormButton(uri, button, handler) {
// Insert the iframe
- var div = document.createElement('div');
- div.innerHTML = '<iframe name="redirect-target" id="redirect-target" src="" style="width:0px;height:0px;border:0;"></iframe>';
- button.parentNode.appendChild(div);
+ var iframe = document.createElement('iframe');
+ with (iframe) {
+ name = 'redirect-target';
+ setAttribute('name', 'redirect-target');
+ id = 'redirect-target';
+ }
+ with (iframe.style) {
+ position = 'absolute';
+ height = '1px';
+ width = '1px';
+ visibility = 'hidden';
+ }
+ document.body.appendChild(iframe);
// Trap the button
button.onfocus = function() {
@@ -119,10 +129,13 @@ function redirectFormButton(uri, button, handler) {
var button = this;
var action = button.form.action;
var target = button.form.target;
+
// Redirect form submission
this.form.action = uri;
this.form.target = 'redirect-target';
+
handler.onsubmit();
+
// Set iframe handler for later
window.iframeHandler = function (data) {
// Restore form submission
@@ -130,6 +143,8 @@ function redirectFormButton(uri, button, handler) {
button.form.target = target;
handler.oncomplete(data);
}
+
+ return true;
}
}
button.onblur = function() {
diff --git a/misc/progress.js b/misc/progress.js
index b4e4c9039..a2de44e80 100644
--- a/misc/progress.js
+++ b/misc/progress.js
@@ -22,7 +22,8 @@ function progressBar(id) {
*/
progressBar.prototype.setProgress = function (percentage, status) {
var divs = this.element.getElementsByTagName('div');
- for (i in divs) {
+ var div;
+ for (var i = 0; div = divs[i]; ++i) {
if (percentage >= 0) {
if (hasClass(divs[i], 'filled')) {
divs[i].style.width = percentage + '%';
diff --git a/misc/upload.js b/misc/upload.js
index 48f403448..6437b3175 100644
--- a/misc/upload.js
+++ b/misc/upload.js
@@ -42,8 +42,10 @@ jsUpload.prototype.onsubmit = function () {
this.progress.element.style.width = '28em';
this.progress.element.style.height = hide.offsetHeight +'px';
hide.parentNode.insertBefore(this.progress.element, hide);
- // Hide file form
- hide.style.display = 'none';
+ // Hide file form (cannot use display: none, this mysteriously aborts form
+ // submission in Konqueror)
+ hide.style.position = 'absolute';
+ hide.style.left = '-2000px';
}
/**