Date:  06/28/2006 08:20:45 AM Msg ID:  003007
From:  Jeff Grippe Thread:  002998
Subject:  Re: Validate using Javascript and Database
Thank you for your reply. I was actually able to achieve the result using the technique that you originally recommended for accessing FoxWeb variables inside of JavaScript.
 
My next problem is that the page that is served contains the password in the JavaScript code that is generated. This is a problem because a sophisticated user could view the source and acquire the password.
 
I can not re-organize the page to collect the password somewhere else other than at the time the form is submitted. This is something that my legal department has insisted on.
 
Is there any way to either encrypt the PW in the JavaScript code or to serve a page whose source can't be viewed?
 
Thanks again.
Sent by FoxWeb Support on 06/27/2006 08:31:45 PM:
In your original message you asked:
Is there some way to load a value (such as the password that I need to check) into a variable that javascript can access so that I can write code in my validate function to check it against the value in a text input field?
My question referred to the password value.  I assume that the user enters a userid in the same form that contains the field that asks for the file to be uploaded.  Is this correct?  If yes, then why not split the forms in two pages.  The first page will ask for the userid and password.  Once the user clicks the submit button, a script on the server should validate the password and return a subsequent form that asks for the file to be uploaded.
 
If you don't want to split the forms, then you will need to use AJAX to make a request to the server, without actually submitting the form.  I can't teach you how to employ AJAX technology in this forum, but you can look it up on the Web.  A quick search will turn up lots of helpful information on this subject.  This article is particularly useful: http://developer.mozilla.org/en/docs/AJAX:Getting_Started.  In fact, the article contains everything you need to know in order to use AJAX in your FoxWeb scripts.

FoxWeb Support Team
support@foxweb.com email

Sent by Jeff Grippe on 06/27/2006 01:58:07 AM:
I am not sure about the answer to "Do you know the value you are validating against?"
 
My typical FWX file has the following structure:
 
<%
* SETUP CODE, GET Session Variables, Open Files, Run Queries, Etc.
%>
 
// Javascript Validation Code
 
<HTML>
   HTML Stuff
</HTML>
 
I could lookup the password in the setup code but I think that may be too late, or is it? When is the '<%=pswd%>' from your example resolved? Does my setup code run first allowing me to retreive the value from a database
or session variable?
 
Thanks!
Sent by FoxWeb Support on 06/26/2006 09:47:40 PM:
Do you know the value you are validating against at the time that the form is served by FoxWeb?  If yes, you can dynamically create some JavaScript code that sets the variable value dynamically:
 

<script language="JavaScript">

var password='<%=pswd%>';

</script>

<form ... (your form)

 
You could even populate an array with a bunch of values.
 
If, on the other hand, you are validating against a large set of values (such as your password example), then there are two options:
  1. Split data entry into two pages.  First ask for the values that need to be validated and in the following request return a form that asks for the file upload.
  2. Use AJAX to retrieve the values that you want to validate against.  There are lots of resources on the web that provide information on this subject.

FoxWeb Support Team
support@foxweb.com email

Sent by Jeff Grippe on 06/26/2006 01:28:51 PM:
I need to validate a form value before the user clicks submit in order to prevent a long file upload when a required password is incorrect.
 
For validating dates and amount ranges I use a javascript function called validate in some of my forms.
 
The form line contains onsubmit="return validate()"
 
Is there some way to load a value (such as the password that I need to check) into a variable that javascript can access so that I can write code in my validate function to check it against the value in a text input field?
 
Thank you very much.
 
Jeff