Bug 9507: prevent submit: refactor some code in a js file

This patch refactors some code in a js file.

Test plan:
On acqui/neworderempty.pl, acqui/orderreceive.pl and
serials/serials-edit.tt try to scan a barcode (or press enter) on the
form and check that it is not sent.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Have to note that the code for IE9 does not work. Before and after this patch.
If we refactor code, it would have been nice to resolve this too.
But I do not oppose pushing this patch.
The test uses 'an ancient Netscape property' window.Event (uppercase!) to make
the distinction between browers and event models. Some more documentation here
would be welcome too.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 9e4c289d3f)

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Refactoring, but needed for 10310 inclusion
This commit is contained in:
Jonathan Druart 2013-01-30 15:19:58 +01:00 committed by Tomas Cohen Arazi
parent d22fb794dc
commit c8ea6ba025
4 changed files with 21 additions and 55 deletions

View File

@ -0,0 +1,18 @@
var prevent_nav = window.Event ? true : false;
if (prevent_nav) {
window.captureEvents(Event.KEYDOWN);
window.onkeydown = NetscapeEventHandler_KeyDown;
} else {
document.onkeydown = IEEventHandler_KeyDown;
}
function NetscapeEventHandler_KeyDown(e) {
if (e.which == 13 && e.target.type != 'textarea' && e.target.type != 'submit') { return false; }
return true;
}
function IEEventHandler_KeyDown() {
if (event.keyCode == 13 && event.srcElement.type != 'textarea' && event.srcElement.type != 'submit')
return false;
return true;
}

View File

@ -6,25 +6,8 @@
<script type="text/javascript" src="[% themelang %]/js/acq.js"></script>
[% INCLUDE 'additem.js.inc' %]
<script type="text/javascript" src="[% themelang %]/js/additem.js"></script>
<script type="text/javascript" src="[% themelang %]/js/prevent_submit.js"></script>
<script type="text/javascript">
var nav = window.Event ? true : false;
if (nav) {
window.captureEvents(Event.KEYDOWN);
window.onkeydown = NetscapeEventHandler_KeyDown;
} else {
document.onkeydown = IEEventHandler_KeyDown;
}
function NetscapeEventHandler_KeyDown(e) {
if (e.which == 13 && e.target.type != 'textarea' && e.target.type != 'submit') { return false; }
return true;
}
function IEEventHandler_KeyDown() {
if (event.keyCode == 13 && event.srcElement.type != 'textarea' && event.srcElement.type != 'submit')
return false;
return true;
}
//<![CDATA[
actTotal = "";

View File

@ -3,26 +3,8 @@
[% INCLUDE 'doc-head-close.inc' %]
[% INCLUDE 'additem.js.inc' %]
<script type="text/javascript" src="[% themelang %]/js/additem.js"> </script>
<script type="text/javascript" src="[% themelang %]/js/prevent_submit.js"></script>
<script type="text/javascript">
var nav = window.Event ? true : false;
if (nav) {
window.captureEvents(Event.KEYDOWN);
window.onkeydown = NetscapeEventHandler_KeyDown;
} else {
document.onkeydown = IEEventHandler_KeyDown;
}
function NetscapeEventHandler_KeyDown(e) {
if (e.which == 13 && e.target.type != 'textarea' && e.target.type != 'submit') { return false; }
return true;
}
function IEEventHandler_KeyDown() {
if (event.keyCode == 13 && event.srcElement.type != 'textarea' && event.srcElement.type != 'submit')
return false;
return true;
}
//<![CDATA[
function Check(form) {
[% IF (AcqCreateItemReceiving) %]

View File

@ -2,25 +2,8 @@
<title>Koha &rsaquo; Serials &rsaquo; Serial edition [% bibliotitle %]</title>
[% INCLUDE 'doc-head-close.inc' %]
<script type="text/javascript" src="[% themelang %]/js/cataloging.js"></script>
<script type="text/javascript" src="[% themelang %]/js/prevent_submit.js"></script>
<script language="JavaScript" type="text/javascript">
var nav = window.Event ? true : false;
if (nav) {
window.captureEvents(Event.KEYDOWN);
window.onkeydown = NetscapeEventHandler_KeyDown;
} else {
document.onkeydown = IEEventHandler_KeyDown;
}
function NetscapeEventHandler_KeyDown(e) {
if (e.which == 13 && e.target.type != 'textarea' && e.target.type != 'submit') { return false; }
return true;
}
function IEEventHandler_KeyDown() {
if (event.keyCode == 13 && event.srcElement.type != 'textarea' && event.srcElement.type != 'submit')
return false;
return true;
}
//<![CDATA[
function generateReceive() {
var subscriptionid = document.getElementsByName("subscriptionid")[0].value;