Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > ASP General > Form reloads

Reply
Thread Tools

Form reloads

 
 
JJ
Guest
Posts: n/a
 
      08-18-2003
Hi All,

When someone selects a value in a select on a form I want to show the
same form with another select with certain values depending on first select.
How can I do this? Should I keep acouple of arrays loaded with the second
selects values not to be shown till selected in first or what other means?

Also how do you reload the current form to show maybe a nex field or select
box?

Thanks,

JJ


 
Reply With Quote
 
 
 
 
Curt_C [MVP]
Guest
Posts: n/a
 
      08-19-2003
it's a clientside event but have the onChange() trigger a form.submit()

--
----------------------------------------------------------
Curt Christianson (Software_AT_Darkfalz.Com)
Owner/Lead Designer, DF-Software
http://www.Darkfalz.com
---------------------------------------------------------
...Offering free scripts & code snippits for everyone...
---------------------------------------------------------


"JJ" <> wrote in message
news:...
> Hi All,
>
> When someone selects a value in a select on a form I want to show the
> same form with another select with certain values depending on first

select.
> How can I do this? Should I keep acouple of arrays loaded with the second
> selects values not to be shown till selected in first or what other means?
>
> Also how do you reload the current form to show maybe a nex field or

select
> box?
>
> Thanks,
>
> JJ
>
>



 
Reply With Quote
 
 
 
 
Bullschmidt
Guest
Posts: n/a
 
      08-22-2003
You can use dependent listboxes for example to let a user choose a rep
in a reps listbox and then have only the customers for that rep be shown
in the customers listbox.

You can see an example of this on the ASP Web database demo on my site
www.bullschmidt.com/login.asp and then go to the Invoices dialog and
choose a rep in the listbox and notice that the page is posted to
itself, the customers listbox then gets the focus, and the customers
listbox only contains the customers for that rep.

I'd suggest having the onchange event for the first listbox (called
RepID) use JavaScript to submit the page (assuming the page is being
posted back to itself anyway) and then if the page is a post, show the
extra info in the second listbox.

Example:
<select name="RepID" size="1" onchange="RefreshPg('CustID');">

And the SQL for the second listbox (called CustID) would be something
like this:
strSQL = "SELECT CustID "
strSQL = strSQL & "FROM tblCust "
strSQL = strSQL & "WHERE (1=1) "
If Request.Form("RepID") <> "" Then
strSQL = strSQL & "AND (CustUserID=" & Chr(39) & Request.Form("RepID")
& Chr(39) & ") "
End If
strSQL = strSQL & "ORDER BY CustID"

And on the form have a hidden field which will contain the name of the
field to be given the focus when the page is reopened.

Example:
<input type="hidden" name="FocusedFldName" value="<%=
Request.Form("FocusedFldName") %>">

And somewhere on the page:
<% ' Set focus.
If Request.Form("FocusedFldName") <> "" Then
' Set focus based on FocusedFldName.
%>
<script type="text/javascript">document.frmMain.<%=
Request.Form("FocusedFldName") %>.focus();</script>
<% Else
' Set focus.
%>
<script type="text/javascript">document.frmMain.RepID.focus();</script>
<% End If %>

And here's the JavaScript function to submit the page for this purpose:

function RefreshPg(pstrFldName) {
// Purpose: Refresh pg. to update other fld(s) based on selection.
// Remarks: Used by listbox's onchange.
// Assumes existence of document.frmMain.FocusedFldName hidden fld.

// Set focused fld for when come back.
document.frmMain.FocusedFldName.value = pstrFldName;

// Msg.
alert("Refreshing page to update other field(s) based on your
selection.");

// Submit pg to itself to refresh other combo based on this combo.
document.frmMain.submit();
}

And here are some final notes of clarification.

FocusedFldName is the name of a hidden field on the form. It is usually
blank but after the user changes the parent listbox (called RepID)
JavaScript code puts in the name of the child listbox (called CustID)
into the hidden field (called FocusedFldName) on the form.

Then when the page is reopened JavaScript sets the focus on the name of
the field (i.e. the name of the child listbox) contained in the hidden
field. Thus the focus is set on the CustID field (instead of the RepID
field which gets the focus when the form is FIRST opened).

And if the RepID field in the database is a numeric field then the
Chr(39) stuff is not needed so this:
strSQL = strSQL & "AND (CustUserID=" & Chr(39) & Request.Form("RepID")
& Chr(39) & ") "
Should be changed to this:
strSQL = strSQL & "AND (CustUserID=" & Request.Form("RepID") & ") "

Best regards,
J. Paul Schmidt, Freelance ASP Web Developer
http://www.Bullschmidt.com
ASP Design Tips, ASP Web Database Demo, Free ASP Bar Chart Tool...


*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
form reloads itself when action is set to another page AC Javascript 1 06-15-2006 04:45 PM
remember form field input over reloads coffee_man Javascript 3 10-06-2005 02:39 PM
PIX 506 reloads AG+ Cisco 2 07-15-2005 08:19 PM
reloads by itself Vec Firefox 5 11-18-2004 01:31 PM
in LoadViewState() : ViewState is empty after page reloads the 2nd time Christian ASP .Net 0 07-17-2003 08:58 AM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57