INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Jobs

How do I turn the result of a multiplication in a VALUE that can be entered into a database table ?

How do I turn the result of a multiplication in a VALUE that can be entered into a database table ?

How do I turn the result of a multiplication in a VALUE that can be entered into a database table ?

(OP)
My Javascript multiplication example :
function calculate()
{
  var NUMBER_1 = document.getElementById("NUMBER_2017").value;
  var NUMBER_2 = 34;

  document.getElementById("AMOUNT").value = NUMBER_1 * NUMBER_2;
}
Calculation code from the example :
<input type="text" name="NUMBER_2017" id="NUMBER_2017" onkeyup="calculate()" />
<input type="text" name="AMOUNT" id="AMOUNT" value="">

My calculation (my code)
<input type="text" name="NUMBER_2017" value="<%=rsDATABASE("NUMBER_2017")%>" onKeyUp="calculate()" ></td>
<input type="number" size="12" value="<%=rsDATABASE("AMOUNT")%>" NAME="AMOUNT" >/td>

I must become 2x VALUE (in bold) to insert in the database tabel.
The question is how ?
Thanks for tip - Leif

RE: How do I turn the result of a multiplication in a VALUE that can be entered into a database table ?

Javascript and ASP vbscript do NOT interact at the same time.


You either have to use AJAX methods to send the value or use javascript to populate a form field value and submit the form to the server.

Chris.

Indifference will be the downfall of mankind, but who cares?
Time flies like an arrow, however, fruit flies like a banana.

Never mind this jesus character, stars had to die for me to live.

RE: How do I turn the result of a multiplication in a VALUE that can be entered into a database table ?

(OP)
To clarify my question : if I omit the Javacript code for multiplication (and I manually input the result of the multiplication), this application works good (=send the data to the database)
My problem => I want to transform AMOUNT (= the result of the Java-multiplication) into the bold code below (to 'send' it to the database).

...
rsUpdateEntry.Fields("Number_2017") = Request.Form("Number_2017")
rsUpdateEntry.Fields("AMOUNT") = Request.Form("AMOUNT")
rsUpdateEntry.Fields("XYZ...") = Request.Form("XYZ...")
'Write the updated recordset to the database
rsUpdateEntry.Update
...

Can I do this transition without AJAX ?

Thanks for help - Leif

RE: How do I turn the result of a multiplication in a VALUE that can be entered into a database table ?

As Chris said, just submit the form after the javascript function updates the "AMOUNT" field, and it should work.

RE: How do I turn the result of a multiplication in a VALUE that can be entered into a database table ?

Quote:

Can I do this transition without AJAX ?

Nope

javascript runs AFTER the ASP scripts have completely finished processing and the results have been passed to the client side user agent.

Chris.

Indifference will be the downfall of mankind, but who cares?
Time flies like an arrow, however, fruit flies like a banana.

Never mind this jesus character, stars had to die for me to live.

RE: How do I turn the result of a multiplication in a VALUE that can be entered into a database table ?

Quote:

Can I do this transition without AJAX ?

Yep

If "AMOUNT" contains the calculated value, and it's within form tags, and you have a submit button and you click that submit button, then the code Request.Form("AMOUNT") will retrieve that calculated value

RE: How do I turn the result of a multiplication in a VALUE that can be entered into a database table ?

Are you asking why the javascript does not work?

The example code has id="NUMBER_2017" and id="AMOUNT"

Your code does not, hence getElementById() fails.

RE: How do I turn the result of a multiplication in a VALUE that can be entered into a database table ?

(OP)
Indeed, Guitarzan the process in my ASP application is as follows
=> input NUMBER_2017
=> Javascript multiplies this input X 34
(cfr. My Javascript multiplication example in my first question-masseage that I'm trying to implement (!) into my application)
=> the result = AMOUNT
=> this AMOUNT is retrieved (= should be !) by Request.Form("AMOUNT") into the database

BUT : at the moment of pressing the submit button => the application crashes with the error message : Type mismatch
Without the calculation, NUMBER_2017 (= input) -and other applicationfields- are retrieved smoothly to the database.

The transition from Javascript calulation (in)to the ASP code goes wrong.
I might use a non-implementable javascript? Or could it be another problem?

Thans for tips - Leif

RE: How do I turn the result of a multiplication in a VALUE that can be entered into a database table ?

>at the moment of pressing the submit button => the application crashes with the error message : Type mismatch

Show the applicable ASP / vbscript code around the line that crashes. Hard to offer advice without seeing the code, especially the code that executes after the Submit button is pressed.

Also, did you see rog2y7t6's post above about the "id" maybe not being set?

RE: How do I turn the result of a multiplication in a VALUE that can be entered into a database table ?

(OP)
I found the cause of TYPE MISMATCH => a mistype in the JavaScriptfunction in the head : "AMOUNT3 => I apologize

After correction, all the applicationfields are retrieved smoothly to the database, except AMOUNT as the result of the javascript calculation.
I tested the "id" separately from my application - it works.

I refer this to my initial question : how can I become the AMOUNT (= NUMBER_2017 * 34) from JAVA into my application

Javascript
<script type="text/javascript">
<!--
 
function calculate ( ) {
  var NUM_1 = document.getElementById("NUMBER_2017").value;
  var NUM_2 = 34; 

  document.getElementById("AMOUNT").value = NUM_1 * NUM_2;
}

//-->
</script>

My application code for AMOUNT

<tr>
<td><b>Number(2017)</b></td>
<input type="text" name="NUMBER_2017" value="<%=rsDATABASE("NUMBER_2017")%>" onKeyUp="calculate()" size="12" style="font-weight:bold; font-family:arial,sans-serif;
font-size:12px; color:#0000FF; text-align:left; background-color:#E0FFFF;"></td>
</tr>

<tr>
<td height="26"><b>Amount</b></td>
<td height="26" width="353">
<INPUT TYPE="number" size="12" value="<%=rsDATABASE("AMOUNT")%>" NAME="AMOUNT" style="font-weight:bold; font-family:arial,sans-serif;
font-size:12px; color:#0000FF; text-align:right;"><font size="1" color="black">&nbsp;&nbsp;&nbsp;(please do not change)</td>

</tr>

<tr>
<td width="353"><input type="submit" name="Submit" value="Confirm new data"></td></tr>
<tr><td colspan="2"><input type="hidden" name="Nr" value="<% = rsDATABASE("NR") %>"></td></tr>
</form>

Thanks for tips to retrieve also AMOUNT as a result of NUMBER_2017 * 34
Leif

RE: How do I turn the result of a multiplication in a VALUE that can be entered into a database table ?

Quote:

...all the applicationfields are retrieved smoothly to the database, except AMOUNT as the result of the javascript calculation.

Then post your code that retrieves the other values besides AMOUNT and saves them into the database. Because you have not shown that yet in any of your posts. In other words, show your code that executes after the Submit button is pressed.

RE: How do I turn the result of a multiplication in a VALUE that can be entered into a database table ?

(OP)
The code after submit that rereives and saves the values

<%
Session.LCID = 2067
Dim objCDOMail
Set objCDOMail = CreateObject("CDONTS.NewMail")
... (here comes the code for the e-mail - This email works good - is sent to and received)
objCDOMail.Send
set objCDOMail=nothing

'Dimension variables
Dim adoCon 'Holds the Database Connection Object
Dim rsUpdateEntry 'Holds the recordset for the record to be updated
Dim strSQL 'Holds the SQL query for the database
Dim lngRecordNo 'Holds the record number to be updated

'Read in the record number to be updated
lngRecordNo = CLng(Request.Form("Nr"))

'Create an ADO connection odject
Set adoCon = Server.CreateObject("ADODB.Connection")

'Set an active connection to the Connection object using a DSN-less connection
adoCon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("_private/FXCX.mdb")

'Create an ADO recordset object
Set rsUpdateEntry = Server.CreateObject("ADODB.Recordset")

'Initialise the strSQL variable with an SQL statement to query the database
strSQL = "SELECT XYZ17_table.* FROM XYZ17_table WHERE Nr=" & lngRecordNo

'Set the cursor type we are using so we can navigate through the recordset
rsUpdateEntry.CursorType = 2

'Set the lock type so that the record is locked by ADO when it is updated
rsUpdateEntry.LockType = 3

'Open the tblComments table using the SQL query held in the strSQL varaiable
rsUpdateEntry.Open strSQL, adoCon

'Update the record in the recordset
rsUpdateEntry.Fields("Workdate") = Request.Form("Workdate")
rsUpdateEntry.Fields("Visitor") = Request.Form("Visitor")
rsUpdateEntry.Fields("NUMBER_2017") = Request.Form("NUMBER_2017")
rsUpdateEntry.Fields("AMOUNT") = Request.Form("AMOUNT")
'Write the updated recordset to the database
rsUpdateEntry.Update

'Reset server objects
rsUpdateEntry.Close
Set rsUpdateEntry = Nothing
Set adoCon = Nothing

'Return to the update select page incase another record needs deleting
Response.Redirect "V_list.asp"
%>
<head><title>XYZ17 update_entry_visitMem.asp - 3</title></head>

Thx for help - Leif

RE: How do I turn the result of a multiplication in a VALUE that can be entered into a database table ?

(OP)
Are there any more data needed to solve this problem?
Thanks - Leifoet

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members!

Resources

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close