can an event be controled in classical ASP?

C

c676228

Hi all,
I guess this probably a very silly question. I am not sure if this can be
done in classical asp. A button has to be clicked if a selection in drop
down list has been changed. If not, a pop up message pops and reminds the
user you need to click the button before continue. Can this be done in some
ways???
Thank you!
 
B

Bob Barrows [MVP]

c676228 said:
Hi all,
I guess this probably a very silly question. I am not sure if this
can be done in classical asp. A button has to be clicked if a
selection in drop down list has been changed. If not, a pop up
message pops and reminds the user you need to click the button before
continue. Can this be done in some ways???
Thank you!
--
Not in asp. ASP is server-side technology. If your question concerns
buttons clicked by users to trigger client-side (browser) events, then
you are no longer in the realm of ASP. A client-side scripting group
such as .scripting.jscript will likely get you more help.

Having said that, you need to think more about your sequence of events.
At what point do you want to have the message appear? From your question
it appears that a user has to select an item and then click a button.
What does the user need to do to trigger the error message?
 
S

Steven Cheng[MSFT]

Hello Betty,

I'm wondering whether you're wantting to perform such event/checking every
time before the user submit the form/page or do you want to do such
event/checking whenever the user has changed the selected item in
dropdownlist(html select)?

In both cases, you need to use client side script code. For the first case,
you can add a script handler for html form's onsubmit event. e.g.

<form onsubmit="xxx()">

and in that handler, you can check whether the dropdownlist(or other
element)'s value has been changed(you need to also keep the original value
for compare in the page), and then determine whether to continue the submit
or cancel it and display a alert dialog.
e.g.

=========================
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Untitled Page</title>
<script type="text/javascript">
function form_submit()
{
if(document.getElementById("flag").value == "1")
{

return true;
}
else
{
alert("need set flag...");
return false;
}
}

function set_flag()
{
document.getElementById("flag").value = "1";

alert(document.getElementById("flag").value);
}
</script>
</head>
<body>
<form id="form1" action="" onsubmit="return form_submit();">
data: <input type="text" value="test" /><br />
<input type="button" value="set flag" onclick="set_flag();" />

<input id="flag" type="hidden" value="0" />

<input type="submit" value="submit button" />

</form>
</body>
</html>
======================================


if it is the second case, you just need to add "onchange" client-side event
for the dropdownlist and do the checking(whether the button has been
clicked) and show alert.

Does this help?

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead



==================================================

Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.



Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/default.aspx.

==================================================



This posting is provided "AS IS" with no warranties, and confers no rights.
 
C

c676228

Bob and Steven,
Thank you both for your help. Steven, your post is very helpful.
My case is the second. Whenever there is a change in any dropdownlist
fields, the update button needs to be clicked for new quote. Based on your
idea, I can always
set original values in session variables and when submit button is clicked,
I can check if the request("filedname") is the same as each session variable
or not, if there is any difference and the flag value is still 0 and alert
user the "update" button needs to be clicked, if the flag=1 then continue...
the only thing I don't like my part is if there are many fields, that means
I need to use many session variables. I am afraid if too many users abandon
in the middle of processing, I could be in trouble. I usually abondon the
session right after a successful transaction, can you give me a
recommendation how to guarantee a session is removed even a user abandons it
in the middle? or do you have any other suggestion?
Thank you
 
S

Steven Cheng[MSFT]

Hello Betty,

Thanks for your reply.

So I think your further question here is how to avoid using many session
variables to mark the flag of those input fields or status. I think this is
just like how to avoid do the checking at server-side. As mentioned in my
first approach, you can use "onsubmit" event of html <form> to do
client-side validation and cancel the submit if necessary. For example,
whenever the update button is clicked, you can change a html input hidden
field in your page's cilent-side markup. Then, your client-side script can
check both the value changed (on the dropdownlist) and whether the update
button is clicked(from the hiddenfield). And when all rquirement meet, you
let the page submit to server-side and process it, after successful
processing, you need to reset that hiddenfield(for flag whether update
button has been clicked) to the initial value. How do you think of this?

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


This posting is provided "AS IS" with no warranties, and confers no rights.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,767
Messages
2,569,570
Members
45,045
Latest member
DRCM

Latest Threads

Top