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; | ||||
| } | ||||
| 
 | ||||
| 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<textareas.length; i++) { | ||||
|    textareas[i].style.display = 'none'; | ||||
|    textareas[i].disabled = true; | ||||
|  } | ||||
|  if (event.target.value) { | ||||
|    var journalid = event.target.value+'_textarea'; | ||||
|  if (targ.value) { | ||||
|    var journalid = targ.value+'_textarea'; | ||||
|    var textarea = document.getElementById(journalid); | ||||
|  } | ||||
|  else { | ||||
| @ -122,7 +128,7 @@ function editformJournalSelect() { | ||||
|  return true; | ||||
| } | ||||
| 
 | ||||
| function importformToggle() { | ||||
| function importformToggle(ev) { | ||||
|  var a = document.getElementById('addform'); | ||||
|  var e = document.getElementById('editform'); | ||||
|  var f = document.getElementById('filterform'); | ||||
|  | ||||
| @ -365,10 +365,10 @@ navlinks td = [$hamlet| | ||||
|   \ | $ | ||||
|   ^accountsregisterlink^ | ||||
|   \ | $ | ||||
|   %a#addformlink!href!onclick="return addformToggle()" add transaction | ||||
|   %a#importformlink!href!onclick="return importformToggle()"!style=display:none; import transactions | ||||
|   %a#addformlink!href!onclick="return addformToggle(event)" add transaction | ||||
|   %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 | ||||
| @ -658,9 +658,9 @@ getJournalOnlyR = do | ||||
|   hamletToRepHtml $ pageLayout td [$hamlet| | ||||
| %div#journal | ||||
|  %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^ | ||||
|  ^editform'^ | ||||
|  #transactions ^txns^ | ||||
| @ -813,7 +813,7 @@ editform TD{j=j} = [$hamlet| | ||||
|      %input!type=hidden!name=action!value=edit | ||||
|      %input!type=submit!name=submit!value="save journal" | ||||
|      \ 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 | ||||
|   where | ||||
|     manyfiles = (length $ files j) > 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 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user