Connecting Tech Pros Worldwide Forums | Help | Site Map

how to force click event on disabled submit button

JSjones
Guest
 
Posts: n/a
#1: Jul 20 '05
Hi all,

I'm new to these boards and my javascript experience is fairly limited
and basic so please bear with me. Anyway, on to the question and some
background. I'm developing using ColdFusion 4.5 and a good deal of the
page processing depends on whether or not a control is defined. To
prevent users from clicking on a submit button more than once or
clicking on another submit button before the page has finished
processing I have decided to use javascript to disable all of the
submit buttons on the page. However, this is preventing submission of
the form. When I try forcing the submit in the function, the
processing that should occur from clicking the submit button is
ignored and the submit button is not defined. Here is the code I am
using the commented code is different things I have tried:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Untitled</title>
<script language="JavaScript">
function fxnDisableBtn(foo)
{
//alert(foo.type + ", " + foo.name + ", " + foo.value);
//document.frm1.foo.click();
//document.frm1.submit();
document.frm1.btnSave.disabled = true;
document.frm1.btnGoBack.disabled = true;
document.frm1.btnReturn.disabled = true;
document.frm1.btnForward.disabled = true;
//document.frm1.submit();
//document.frm1.foo.click();
switch(foo.name){
case "btnSave":
//alert(foo.type + ", " + foo.name);
//document.frm1.btnSave.click();
foo.click();
break;
//document.frm1.btnSave.click();
case "btnGoBack":
//alert(foo.type + ", " + foo.name);
document.frm1.btnGoBack.click();
//foo.click();
break;
case "btnReturn":
//alert(foo.type + ", " + foo.name);
//document.frm1.btnReturn.click();
break;
case "btnForward":
//alert(foo.type + ", " + foo.name);
//document.frm1.btnForward.click();
break;
}
alert(foo.type + ", " + foo.name + ", " + foo.value + ", " +
foo.disabled + ", " + foo.click()); //debugging and checking foo
}
</script>
</head>

<body>
<form name="frm1" action="#Application.RootPath#/master.cfm?"
method="post"></form>

<input type=submit name="btnSave" value="Save (Does Not Forward)"
onclick="fxnDisableBtn(btnSave);">
<br><br>
<input type=submit name="btnGoBack" value=" <- Back "
onclick="fxnDisableBtn(btnGoBack);">&nbsp;&nbsp;&n bsp;

<input type=submit name="btnReturn" value="Return"
onclick="fxnDisableBtn(btnReturn);">&nbsp;&nbsp;&n bsp;

<input type=submit name="btnForward" value="Forward"
onclick="fxnDisableBtn(btnForward);">
<br><br>

</body>
</html>

HikksNotAtHome
Guest
 
Posts: n/a
#2: Jul 20 '05

re: how to force click event on disabled submit button


In article <94aca08d.0401090753.64bff64d@posting.google.com >,
javajonesk@hotmail.com (JSjones) writes:
[color=blue]
>
>Hi all,
>
>I'm new to these boards and my javascript experience is fairly limited
>and basic so please bear with me. Anyway, on to the question and some
>background. I'm developing using ColdFusion 4.5 and a good deal of the
>page processing depends on whether or not a control is defined. To
>prevent users from clicking on a submit button more than once or
>clicking on another submit button before the page has finished
>processing I have decided to use javascript to disable all of the
>submit buttons on the page. However, this is preventing submission of
>the form. When I try forcing the submit in the function, the
>processing that should occur from clicking the submit button is
>ignored and the submit button is not defined. Here is the code I am
>using the commented code is different things I have tried:[/color]

Please format your code for readability.

Instead of disabling the submit button, set a global variable and check its
state when the form tries to get submitted:

var submitForm = true;

function checkForm(){
if (submitForm){
//validation here
submitForm = false;
}
}

and anytime you need to "freeze" the page (stop the submit from working), set
submitForm to false, and when finished set it back to true.
--
Randy
Unregistered
Guest
 
Posts: n/a
#3: Jul 20 '05

re: how to force click event on disabled submit button



Hi,

Is there no way to make the form submit after the button is disabled
I'm having exactly the same problem

Unregistered
-----------------------------------------------------------------------
Posted via http://www.forum4designers.co
-----------------------------------------------------------------------
View this thread: http://www.forum4designers.com/message30553.htm

Michael Winter
Guest
 
Posts: n/a
#4: Jul 20 '05

re: how to force click event on disabled submit button


On Tue, 27 Jan 2004 11:52:04 -0600, Unregistered
<Guest.10pdp5@mail.forum4designers.com> wrote:
[color=blue]
> Is there no way to make the form submit after the button is disabled,
> I'm having exactly the same problem?[/color]

No, not by clicking the button. Once disabled, it is just that: disabled.
The button stops receiving events and can't perform any actions, such as
submission.

Mike

--
Michael Winter
M.Winter@blueyonder.co.invalid (replace ".invalid" with ".uk" to reply)
Thomas 'PointedEars' Lahn
Guest
 
Posts: n/a
#5: Jul 20 '05

re: how to force click event on disabled submit button


JSjones wrote:
[color=blue]
> I'm new to these boards[/color]

This is no (bulletin/message) board. You have posted to Usenet,
via the Google Groups web interface. That interface has its flaws,
so you better use NetNews client software (a newsreader) instead.
I recommend not to use Outlook Express, it is mindboggingly buggy.
[color=blue]
> I'm developing using ColdFusion 4.5 and a good deal of the
> page processing depends on whether or not a control is defined. To
> prevent users from clicking on a submit button more than once or
> clicking on another submit button before the page has finished
> processing I have decided to use javascript to disable all of the
> submit buttons on the page.[/color]

This is the wrong approach because:
[color=blue]
> [...] this is preventing submission of the form[/color]

You need to revise the concept of your server-side application. It
must not accept input twice. Sessions are a good way to accomplish that.
[color=blue]
> <script language="JavaScript">[/color]

<script type="text/javascript">
[color=blue]
> function fxnDisableBtn(foo)
> {
> //alert(foo.type + ", " + foo.name + ", " + foo.value);
> //document.frm1.foo.click();[/color]

No. If you have a method that accesses forms, pass a
reference the HTMLFormElement object instead ("this.form"
in an event handler of a form control, "this" in an event
handler of the "form" element). This avoids code like
[color=blue]
> //document.frm1.submit();
> document.frm1.btnSave.disabled = true;
> document.frm1.btnGoBack.disabled = true;
> document.frm1.btnReturn.disabled = true;
> document.frm1.btnForward.disabled = true;
> //document.frm1.submit();
> //document.frm1.foo.click();[/color]

and you could use

... foo.elements['btnSave'] ...

aso. instead. And remember not to make operation dependent on
client-side script support for it can be disabled or not even
present.


HTH

PointedEars
Thomas 'PointedEars' Lahn
Guest
 
Posts: n/a
#6: Jul 20 '05

re: how to force click event on disabled submit button


Unregistered wrote:
[color=blue]
> Is there no way to make the form submit after the button is disabled,[/color]

No, there is not.
[color=blue]
> I'm having exactly the same problem?[/color]

I do not know. Have you?


PointedEars
Thomas 'PointedEars' Lahn
Guest
 
Posts: n/a
#7: Jul 20 '05

re: how to force click event on disabled submit button


Unregistered wrote:
[color=blue]
> Is there no way to make the form submit after the button is disabled,[/color]

No, there is not.
[color=blue]
> I'm having exactly the same problem?[/color]

I do not know. Are you having it?


PointedEars
Closed Thread


Similar JavaScript / Ajax / DHTML bytes