Re: [PHP] [JS question] : I want to block onChange event in Firefox...
by Nicolas Figaro other posts by this author
Jun 30 2006 12:29AM messages near this date
Re: [PHP] [JS question] : I want to block onChange event in Firefox...
|
[PHP] Functions
Hi,
did you try to open the javascript console in firefox to see if there is
any error ?
(in the "tools" or "outils" menu).
hope this'll help / bon courage
N F
David BERCOT a écrit :
> Hi,
>
> I am blocked on this problem since so a long time that I prefer asking here my question...
> I'd like, if the data isn't correct, that the user stay in the input zone. Everything is o
k with IE but not with Firefox.
> Here is my code :
> // Validation des données.
> function demarrage_controles() {
> if (FF) {
> document.captureEvents(Event.KEYPRESS);
> document.captureEvents(Event.CHANGE);
> document.onkeypress = process_keypress;
> document.onchange = process_change;
> } else {
> document.onkeypress = process_keypress;
> for (i=0; i < document.forms[0].elements.length ; i++) {
> document.forms[0].elements[i].attachEvent("onchange",process_change);
> }
> }
> }
> // On n'accepte que des chiffres.
> function process_keypress(e) {
> if (FF) {
> if (e.target.tagName == "input" && !((e.which > 47 && e.which < 58) || e.which
== 0 || e.which == 8 || e.which == 13)) {
> return false;
> }
> } else {
> if ((window.event.keyCode < 47 || window.event.keyCode > 58) && window.event.k
eyCode != 13) {
> return false;
> }
> }
> }
> // On compare au dernier cumul.
> function process_change(e) {
> if (FF) {
> if (e.target.id.substr(0,3) == "var" && e.target.alt != "") {
> if (Number(e.target.value) < Number(e.target.alt)) {
> alert ("Vous ne pouvez pas saisir de données inférieures au dern
ier cumul !");
> e.preventDefault();
> e.stopPropagation();
> e.returnValue=false;
> }
> }
> } else {
> if (window.event.srcElement.id.substr(0,3) == "var" && window.event.srcElement
.alt != "") {
> if (Number(window.event.srcElement.value) < Number(window.event.srcEleme
nt.alt)) {
> alert ("Vous ne pouvez pas saisir de données inférieures au dern
ier cumul !");
> window.event.returnValue = false;
> }
> }
> }
> }
> My problem comes from the process_change function in Firefox where I put everything I know
(stopPropagation etc...) but without success. The user go to the next field. In IE, the win
dow.event.returnValue = false is ok.
>
> Do you have any clue ?
>
> Thank you very much.
>
> David.
>
>
Thread:
David BERCOT
Chris
David BERCOT
Nicolas Figaro
|