From ad4ae66d2801c9bfdafef2ed13ba6b1c651d7a60 Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Fri, 21 Jan 2011 02:54:42 +0000 Subject: [PATCH] make edit form more cross-browser compatible, fixing it in firefox (#38) --- hledger-web/.hledger/web/hledger.js | 20 +++++++++++++------- hledger-web/Hledger/Web/App.hs | 16 ++++++++-------- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/hledger-web/.hledger/web/hledger.js b/hledger-web/.hledger/web/hledger.js index 2c4f11f90..ee19d1b18 100644 --- a/hledger-web/.hledger/web/hledger.js +++ b/hledger-web/.hledger/web/hledger.js @@ -32,7 +32,7 @@ function filterformToggle() { return false; } -function addformToggle() { +function addformToggle(ev) { var a = document.getElementById('addform'); var e = document.getElementById('editform'); var f = document.getElementById('filterform'); @@ -67,7 +67,7 @@ function addformToggle() { return false; } -function editformToggle() { +function editformToggle(ev) { var a = document.getElementById('addform'); var e = document.getElementById('editform'); var ej = document.getElementById('journalselect'); @@ -91,7 +91,7 @@ function editformToggle() { i.style.display = 'none'; t.style.display = 'none'; e.style.display = 'block'; - editformJournalSelect(); + editformJournalSelect(ev); } else { alink.style['font-weight'] = 'normal'; elink.style['font-weight'] = 'normal'; @@ -104,14 +104,20 @@ function editformToggle() { return false; } -function editformJournalSelect() { +function editformJournalSelect(ev) { + // http://www.quirksmode.org/js/events_properties.html + if (!ev) var e = window.event; + if (ev.target) targ = ev.target; + else if (ev.srcElement) targ = ev.srcElement; + if (targ.nodeType == 3) targ = targ.parentNode; + var textareas = $('textarea', $('form#editform')); for (i=0; i 1 @@ -821,7 +821,7 @@ editform TD{j=j} = [$hamlet| journalselect :: [(FilePath,String)] -> Hamlet AppRoute journalselect journalfiles = [$hamlet| - %select!id=journalselect!name=journal!onchange="editformJournalSelect()" + %select!id=journalselect!name=journal!onchange="editformJournalSelect(event)" $forall journalfiles f %option!value=$fst.f$ $fst.f$ |] @@ -836,7 +836,7 @@ importform = [$hamlet| %input!type=hidden!name=action!value=import %input!type=submit!name=submit!value="import from file" \ or $ - %a!href!onclick="return importformToggle()" cancel + %a!href!onclick="return importformToggle(event)" cancel |] postJournalOnlyR :: Handler RepPlain