make edit form more cross-browser compatible, fixing it in firefox (#38)
This commit is contained in:
		
							parent
							
								
									17eff2e4ae
								
							
						
					
					
						commit
						ad4ae66d28
					
				| @ -32,7 +32,7 @@ function filterformToggle() { | |||||||
|  return false; |  return false; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function addformToggle() { | function addformToggle(ev) { | ||||||
|  var a = document.getElementById('addform'); |  var a = document.getElementById('addform'); | ||||||
|  var e = document.getElementById('editform'); |  var e = document.getElementById('editform'); | ||||||
|  var f = document.getElementById('filterform'); |  var f = document.getElementById('filterform'); | ||||||
| @ -67,7 +67,7 @@ function addformToggle() { | |||||||
|  return false; |  return false; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function editformToggle() { | function editformToggle(ev) { | ||||||
|  var a = document.getElementById('addform'); |  var a = document.getElementById('addform'); | ||||||
|  var e = document.getElementById('editform'); |  var e = document.getElementById('editform'); | ||||||
|  var ej = document.getElementById('journalselect'); |  var ej = document.getElementById('journalselect'); | ||||||
| @ -91,7 +91,7 @@ function editformToggle() { | |||||||
|   i.style.display = 'none'; |   i.style.display = 'none'; | ||||||
|   t.style.display = 'none'; |   t.style.display = 'none'; | ||||||
|   e.style.display = 'block'; |   e.style.display = 'block'; | ||||||
|   editformJournalSelect(); |   editformJournalSelect(ev); | ||||||
|  } else { |  } else { | ||||||
|   alink.style['font-weight'] = 'normal'; |   alink.style['font-weight'] = 'normal'; | ||||||
|   elink.style['font-weight'] = 'normal'; |   elink.style['font-weight'] = 'normal'; | ||||||
| @ -104,14 +104,20 @@ function editformToggle() { | |||||||
|  return false; |  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')); |  var textareas = $('textarea', $('form#editform')); | ||||||
|  for (i=0; i<textareas.length; i++) { |  for (i=0; i<textareas.length; i++) { | ||||||
|    textareas[i].style.display = 'none'; |    textareas[i].style.display = 'none'; | ||||||
|    textareas[i].disabled = true; |    textareas[i].disabled = true; | ||||||
|  } |  } | ||||||
|  if (event.target.value) { |  if (targ.value) { | ||||||
|    var journalid = event.target.value+'_textarea'; |    var journalid = targ.value+'_textarea'; | ||||||
|    var textarea = document.getElementById(journalid); |    var textarea = document.getElementById(journalid); | ||||||
|  } |  } | ||||||
|  else { |  else { | ||||||
| @ -122,7 +128,7 @@ function editformJournalSelect() { | |||||||
|  return true; |  return true; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function importformToggle() { | function importformToggle(ev) { | ||||||
|  var a = document.getElementById('addform'); |  var a = document.getElementById('addform'); | ||||||
|  var e = document.getElementById('editform'); |  var e = document.getElementById('editform'); | ||||||
|  var f = document.getElementById('filterform'); |  var f = document.getElementById('filterform'); | ||||||
|  | |||||||
| @ -365,10 +365,10 @@ navlinks td = [$hamlet| | |||||||
|   \ | $ |   \ | $ | ||||||
|   ^accountsregisterlink^ |   ^accountsregisterlink^ | ||||||
|   \ | $ |   \ | $ | ||||||
|   %a#addformlink!href!onclick="return addformToggle()" add transaction |   %a#addformlink!href!onclick="return addformToggle(event)" add transaction | ||||||
|   %a#importformlink!href!onclick="return importformToggle()"!style=display:none; import transactions |   %a#importformlink!href!onclick="return importformToggle(event)"!style=display:none; import transactions | ||||||
|   \ | $ |   \ | $ | ||||||
|   %a#editformlink!href!onclick="return editformToggle()" edit journal |   %a#editformlink!href!onclick="return editformToggle(event)" edit journal | ||||||
| |] | |] | ||||||
| --  \ | $ | --  \ | $ | ||||||
|  where |  where | ||||||
| @ -658,9 +658,9 @@ getJournalOnlyR = do | |||||||
|   hamletToRepHtml $ pageLayout td [$hamlet| |   hamletToRepHtml $ pageLayout td [$hamlet| | ||||||
| %div#journal | %div#journal | ||||||
|  %div.nav2 |  %div.nav2 | ||||||
|   %a#addformlink!href!onclick="return addformToggle()" add one transaction |   %a#addformlink!href!onclick="return addformToggle(event)" add one transaction | ||||||
|   \ | $ |   \ | $ | ||||||
|   %a#editformlink!href!onclick="return editformToggle()" edit the whole journal |   %a#editformlink!href!onclick="return editformToggle(event)" edit the whole journal | ||||||
|  ^addform.td^ |  ^addform.td^ | ||||||
|  ^editform'^ |  ^editform'^ | ||||||
|  #transactions ^txns^ |  #transactions ^txns^ | ||||||
| @ -813,7 +813,7 @@ editform TD{j=j} = [$hamlet| | |||||||
|      %input!type=hidden!name=action!value=edit |      %input!type=hidden!name=action!value=edit | ||||||
|      %input!type=submit!name=submit!value="save journal" |      %input!type=submit!name=submit!value="save journal" | ||||||
|      \ or $ |      \ or $ | ||||||
|      %a!href!onclick="return editformToggle()" cancel |      %a!href!onclick="return editformToggle(event)" cancel | ||||||
| |] -- XXX textarea ids are unquoted journal file paths, which is not valid html | |] -- XXX textarea ids are unquoted journal file paths, which is not valid html | ||||||
|   where |   where | ||||||
|     manyfiles = (length $ files j) > 1 |     manyfiles = (length $ files j) > 1 | ||||||
| @ -821,7 +821,7 @@ editform TD{j=j} = [$hamlet| | |||||||
| 
 | 
 | ||||||
| journalselect :: [(FilePath,String)] -> Hamlet AppRoute | journalselect :: [(FilePath,String)] -> Hamlet AppRoute | ||||||
| journalselect journalfiles = [$hamlet| | journalselect journalfiles = [$hamlet| | ||||||
|      %select!id=journalselect!name=journal!onchange="editformJournalSelect()" |      %select!id=journalselect!name=journal!onchange="editformJournalSelect(event)" | ||||||
|       $forall journalfiles f |       $forall journalfiles f | ||||||
|        %option!value=$fst.f$ $fst.f$ |        %option!value=$fst.f$ $fst.f$ | ||||||
| |] | |] | ||||||
| @ -836,7 +836,7 @@ importform = [$hamlet| | |||||||
|      %input!type=hidden!name=action!value=import |      %input!type=hidden!name=action!value=import | ||||||
|      %input!type=submit!name=submit!value="import from file" |      %input!type=submit!name=submit!value="import from file" | ||||||
|      \ or $ |      \ or $ | ||||||
|      %a!href!onclick="return importformToggle()" cancel |      %a!href!onclick="return importformToggle(event)" cancel | ||||||
| |] | |] | ||||||
| 
 | 
 | ||||||
| postJournalOnlyR :: Handler RepPlain | postJournalOnlyR :: Handler RepPlain | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user