470,602 Members | 1,694 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 470,602 developers. It's quick & easy.

how to force click event on disabled submit button

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>
Jul 20 '05 #1
6 11159
In article <94**************************@posting.google.com >,
ja********@hotmail.com (JSjones) writes:

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:


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
Jul 20 '05 #2

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

Jul 20 '05 #3
On Tue, 27 Jan 2004 11:52:04 -0600, Unregistered
<Gu**********@mail.forum4designers.com> wrote:
Is there no way to make the form submit after the button is disabled,
I'm having exactly the same problem?


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.******@blueyonder.co.invalid (replace ".invalid" with ".uk" to reply)
Jul 20 '05 #4
JSjones wrote:
I'm new to these boards
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.
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.
This is the wrong approach because:
[...] this is preventing submission of the form
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.
<script language="JavaScript">
<script type="text/javascript">
function fxnDisableBtn(foo)
{
//alert(foo.type + ", " + foo.name + ", " + foo.value);
//document.frm1.foo.click();
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
//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();


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
Jul 20 '05 #5
Unregistered wrote:
Is there no way to make the form submit after the button is disabled,
No, there is not.
I'm having exactly the same problem?


I do not know. Have you?
PointedEars
Jul 20 '05 #6
Unregistered wrote:
Is there no way to make the form submit after the button is disabled,
No, there is not.
I'm having exactly the same problem?


I do not know. Are you having it?
PointedEars
Jul 20 '05 #7

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

4 posts views Thread by Murphy | last post: by
16 posts views Thread by Barry Gilmore | last post: by
reply views Thread by comp.lang.php | last post: by
6 posts views Thread by Oleg Konovalov | last post: by
2 posts views Thread by chrisp | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.