Simple Guess my Number Game in Javascript - javascript

I'm working on a javascript program that is a simple guessing game. It comes up with a random number between 1 and 10 and provides an input field and a button for the user to make their guess. The program tells after each guess whether the user guessed too high or too low, and it keeps up with the number of guess it took the user to get the correct answer which it displays along with a "congratulations" message when they get it right.
I'm having some trouble getting it to work properly. The page displays properly, but when I enter a guess and click my submit button, nothing happens.
Here is my code:
<html>
<head>
<title>Guess My Number</title>
<script type="text/javascript">
var game = {
num : 0,
turns : 1,
reset : function() {
this.turns = 1;
this.newNum();
},
newNum() : function() {
this.num = parseInt(Math.random() * 10) +1;
},
checkNum() : function(guess) {
try {
guess = parseInt(guess);
}
catch(e) {
alert("Enter a guess!");
this.turns++;
return false;
}
if (guess == this.num) {
alert("Correct! It took you " + this.turns + "turns to guess my number.");
return true;
}
else if(guess > this.num) {
alert("Your guess is too high. Try again.");
this.turns++;
return false;
}
else (guess < this.num) {
alert("Your guess is too low. Try again.");
this.turns++;
return false;
}
}
};
function guessNumber() {
var guess = document.getElementById("guess").value;
game.checkGuess(guess);
}
function resetGame() {
game.reset();
}
resetGame();
</script>
</head>
<body>
<h1>Would You Like To Play A Game?</h1>
<h2>Thank you for checking out my game. Good luck!</h2>
<h3>Created by Beth Tanner</h3>
<h2>Directions:</h2>
<p>
The game is very simple. I am thinking of a number between 1
and 10. It is your job to guess that number. If you do not guess
correctly on your first attempt, don't worry, you can keep guessing
until you guess the correct number.
</p>
<p>
Your Guess: <input type="text" id="guess" size="10" />
<br />
<input type="button" value="Sumbit Guess" onclick="guessNumber()" />
<input type="button" value="Reset Game" onclick="resetGame()" />
</p>
</body>
</html>
I've never actually worked with Javascript before so I know this is probably a very basic thing that I'm overlooking. Any ideas as to why this isn't working correctly?

You variable guess is undefined.
Just initialize it with :
var guess = 0;
However be careful there's a possibility that num is initialize to 0. So, the user guessed immediatly without doing nothing.
var num = Math.random() *10 + 1;
BR

You should call your function in first place, one possible thing you can do is:
<input type = "button" value = "Submit Guess" onclick="guessNumber()">
now that your function is called you need to get the value entered by the user into your guess variable, which I don't see in your code, you can do it as:
Your guess:<input type = "text" name = "guess" size = "10" id="guess" /> <br />
and then in your java script initialize the variable guess as:
guess=document.getElementById("guess").value;
This should do the thing!
EDIT:
Also make sure that Math.random() returns an Integer,as others have suggested use Math.ceil() !

Several other answers have pointed out some issues in the test code:
type="submit" but no <form> tags.
Misspelled variable name tunrs instead of turns.
Use of the while loop
No event connections between the buttons and the JavaScript
This is a simple code example, and there are so, SO many ways to tackle it in JavaScript. Here is my method.
When creating a simple game board where the page does not need to be reloaded, I like to create a game object. In JavaScript you can create objects in a variety of ways. But one of the simplest is this:
var game = {};
This creates an empty object with no properties or methods. To create a couple of properties:
var game = {
num: 0,
turns: -1
};
Each of these properties can be referenced globally like var x = game.num;. To create the object with a function:
var game = {
num: 0,
turns: 0,
reset: function() {
this.turns = 0;
//get a random integer between 1 and 10
this.num = parseInt(Math.random() * 10) + 1;
//Note: "this" lets you refer to the current object context. "game" in this case.
//There are a couple of ways to force the value to an Int, I chose parseInt
}
};
Game now has a game.reset() function that will set game.turns back to 0 and get a new game.num. Here is the full javascript code for my example (slightly different than the above examples):
<script type="text/javascript">
//Create an object to hold the game info
var game = {
num : 0,
turns : 0,
reset : function() {
//function to reset
this.turns = 0;
this.newNum();
},
newNum : function() {
//get a random integer between 1 and 10
this.num = parseInt(Math.random() * 10) + 1;
},
checkGuess : function(guess) {
//try to convert the guess into a integer
try {
guess = parseInt(guess);
} catch(e) {
alert("Enter a guess!");
this.turns++;
return false;
}
//perform strict check of equality
if (guess === this.num) {
alert("Correct! It took you " + this.turns + " turn(s) to guess my number");
return true;
} else if (guess > this.num) {
alert("Your guess is too high. Try again.");
this.turns++;
return false;
} else {
alert("Your guess is too low. Try again.");
this.turns++;
return false;
}
}
};
function guessNumber() {
var guess = document.getElementById("guess").value;
game.checkGuess(guess);
}
function resetGame() {
game.reset();
}
resetGame();
</script>
Note: I didn't do a window.onload event here because those are only needed when the code will be interacting with elements on the document, or DOM elements. If you try to execute JS code in the head of the document, it gets executed instantly before the rest of the document gets loaded. This is bad if your JS code is trying to get, set, or manipulate elements in the page because you're still in the head and the body hasn't been loaded yet.
So in the case where your code needs to get access to elements of the page, often a window.onload = someInitFunction(); will be used so that the JS code will be executed after the document has completed it's load.
Below is my HTML code. It is mostly similar to your code except that I change the name attribute to id on the "guess" input to make it easier to access with document.getElementById(). Using name is helpful when you are in a form and will be submitting values to a server. Only fields with the name attribute set get submitted in that case. Often on forms you will have something like <input type="text" id="textfield" name="textfield" />. The id is used in JavaScript for easy of access, and name is used when submitting the form back to the server.
I also added onclick attributes to the buttons, and changed the input type="submit" to input type="button".
<h1>Would You Like To Play A Game?</h2>
<h2>Thank you for checking out my game. Good luck!</h2>
<h3>Created by Beth Tanner</h3>
<h2>Instructions</h2>
<p>
The game is very simple, I am thinking of a non-decimal number between 1 and 10
and it is your job to guess what that number is. If you do not guess my number
correctly on your first attempt, that's ok, you can keep guessing until you are correct.
</p>
<p>
Your guess:<input type="text" id="guess" size = "10" />
<br />
<input type="button" value = "Submit Guess" onclick="guessNumber()" />
<input type="button" value = "Reset Game" onclick="resetGame()" />
</p>
Here is a JSFiddle example that operates, I believe, the way you want it to.
update
As I was saying there are so many ways to do this. Here is an alternate way to give number selections.

A few issues with your code:
Math.random()*10 will return something that looks like 8.523525235, so you'll have a hard time matching that to any guesses. Instead, use Math.ceil(Math.random()*10). This generates a random number and then rounds up to the nearest integer.
In your JavaScript code, you're calling guessNumber() on the last line, which will execute the function as soon as the browser gets to that line. This will mean the function being executed before the user puts in any guesses. Instead you need to attach an event listener to the button, so that when the button is clicked, guessNumber() is called. Something like:
document.getElementById('button').addEventListener('click', guessNumber).
Right now you're not setting the variable guess in any way. You need to grab the value of the text box and assign that to guess. Something like:
guess = document.getElementById('textbox').value
Using a while loop is not appropriate here, since the user is using the textbox and the button to submit guesses each time. There are ways of doing this with a while loop, but let's stick with your current setup.
You want something that resembles this:
HTML:
<p>Your guess:
<input type="text" id="textbox" />
<input type="button" id="button" value="Guess" />
</p>
JS:
var rand = Math.ceil(Math.random()*10);
var turns = 0;
var guess;
document.getElementById('button').addEventListener('click', guess);
function guess() {
guess = document.getElementById('textbox').value;
if (guess == rand) {
alert('Correct! It took you ' + turns + ' turns to guess the number!');
} else if (guess < rand) {
alert('Your guess is too low. Try again.');
turns++;
} else if (guess > rand) {
alert('Your guess is too high. Try again.');
turns++;
} else {
alert('You didn\'t enter a number. Try again.');
}
}
Here's a fiddle. I added some for the reset functionality.

Related

How to change window.location urls with text <input> boxes

Ok so I'm making a video game and I want players to be able to select custom files within the game via a text input box. I was able to get everything to work but when I click the Load Level button it will take me to:
.../Custom Levels/undefined.html
I tried messing around with a few other ways but the only other thing I got was:
.../Custom Levels/[object HTMLInputElement].html
<div>
<p><input type="text" id="LVLNK" value="Level Name"></p>
<p><input type="button" id="MButton" value="Load Level" onclick="LDLVLNK()"></p>
</div>
<script>
var time = setInterval(10,gameLoop)
var LevelLink; /*put: "var LevelLink = document.getElementById("LVLNK");" to get other link example instead*/
function gameLoop()
{
LevelLink = document.getElementById("LVLNK").value;
}
function LDLVLNK()
{
window.location = "../Custom Levels/" + LevelLink + ".html";
}
The file I'm currently trying to access is named "CLevel1"
So I would place CLevel1 in the input box. The gameLoop would set the name toe the LevelLink variable that is then added to the full link in the window.location function located inside of the LDLVLNK function that is activated by the button.
You have the arguments to setInterval() backwards, it should be:
setInterval(gameLoop, 10);
But there's no reason for the LevelLink global variable. You can simply get the input value in LDLVLNK():
function LDLVLNK() {
var LevelLink = document.getElementById("LVLNK").value;
if (LevelLink) {
window.location = "../Custom Levels/" + LevelLink + ".html";
} else {
alert("Nowhere to go to");
}
}
I guess you could try the following :
function LDLVLNK(){
location.href = "../Custom Levels/" + LevelLink + ".html";
//here window is optional, location is a globally accessible object
}
BTW :
You got it wrong with setInterval, you should use setInterval(gameLoop, 10);(even though 10 is probably not very good/maintainable by the browser, try 100 and reduce the amount by a touch if it's too much)

Computer Guess Game JavaScript

I am trying to create a simple "guess the number game" in a web page where a user is the one thinking of the number and the computer is to guess the number that the user is thinking (no user input required). I need to create three buttons for user to respond to the computer's guess: Guess Higher, Guess Lower, Correct. I am not sure how to make the GuessHigher() and GuessLower() function work. Here is the java script code:
function getFieldValue(target) {
var elm = document.getElementById(target);
var val = parseInt(elm.value);
return val;
}
function getCompGuess() {
var upper = getFieldValue("UPPER");
var lower = getFieldValue("LOWER");
return (parseInt((upper + lower) / 2))
}
/* User starts game. */
function play() {
var remaining = getFieldValue("REMAINING");
var compGuess = getCompGuess()
var compElm = document.getElementById("COMP_GUESS")
compElm.innerHTML = compGuess
}
function GuessHigher() {
}
function GuessLower() {
}
function correct() {
alert ("YAY! Thank you for playing");
}
Here is the HTML code:
<html>
<head>
<meta charset="UTF-8">
<script src="lab1a.js"></script>
</head>
<body>
Guess a number game: <br/> <br/>
Upper Bound: <input id="UPPER" type="text"></input> <br/>
Lower Bound: <input id="LOWER" type="text"></input> <br/>
Guesses Remaining: <input id="REMAINING" type="text"></input> <br/>
<button onclick="play()">Play!</button> <br/>
Computer's Guess: <span id="COMP_GUESS"></span> <br/>
<button onclick="GuessHigher()">Guess Higher</button>
<button onclick="GuessHigher()">Guess Lower</button>
<button onclick="correct()">Correct!!!</button>
</body>
</html>
GUESS HIGHER:
It might not be elegant, but you could try to take the number last guessed and ADD to it any number within difference of UPPER BOUND-LAST GUESS. For example, lets say we have a number line with UPPER=10 and LOWER=0
0|----------|10
and we guess 5 as the computer. Now, if we want to guess higher we're going to need a place holder for our OLD Guess (5), and were going to need to decrease the guessing range so we don't go over our Upper boundry.
0|----<5>----|10, Imagine zooming in on only the top half 5>---10:
5>----|10.
This new range I called availableGuessingRange which is equal to 10-5 or 5.
We're only going to let the computer pick a new number between 1 and 5 now using Math.random.
Let's say it picks 3. Now we can bring that number back to our old guess by adding it (ie. 5+3=8), now 8 is the computers NEW GUESS.
I think it could be something like this:
var lastGuess=document.getElementById("COMP_GUESS").value
var avaliableGuessingRange = upper-lastGuess;
return Math.floor(Math.random()*avaliableGuessingRange)+lastGuess
for GUESS LOWER: I think it would be a similar set up except it uses lastGuess-lower to create the new range and you'll be subtracting the new guess from the last guess to move DOWN the number line.
The way I've written the code currently won't work because of variable scopes, but I think the logic should work.
I made fiddle out of this, and refactor the code tini little bit, inline listeners are considered bad practice. You should consider using some linter as there was some syntax error, mainly you were not terminating your statements; <--- See, this was typo actually, I terminated the sentence accidently with ; instead of .
(function() {
//getting references to buttons
var high = document.getElementById('high');
var lower = document.getElementById('lower');
var btn_correct = document.getElementById('correct');
//setting listeners
high.addEventListener('click', GuessHigher);
lower.addEventListener('click', GuessLower);
btn_correct.addEventListener("click", correct);
function getFieldValue(target) {
var elm = document.getElementById(target);
return parseInt(elm.value);
}
function getCompGuess() {
var upper = getFieldValue("UPPER");
var lower = getFieldValue("LOWER");
return (parseInt((upper + lower) / 2));
}
/* User starts game. */
function play() {
var remaining = getFieldValue("REMAINING");
var compGuess = getCompGuess();
var compElm = document.getElementById("COMP_GUESS");
compElm.innerHTML = compGuess;
}
function GuessHigher() {
console.log('higher');
}
function GuessLower() {
console.log('lower');
}
function correct() {
console.log("YAY! Thank you for playing");
}
}());
<body>
Guess a number game:
<br/>
<br/>Upper Bound:
<input id="UPPER" type="text">
<br/>Lower Bound:
<input id="LOWER" type="text">
<br/>Guesses Remaining:
<input id="REMAINING" type="text">
<br/>
<button id='play'>Play!</button>
<br/>Computer's Guess: <span id="COMP_GUESS"></span>
<br/>
<button id='high'>Guess Higher</button>
<button id='lower'>Guess Lower</button>
<button id='correct'>Correct!!!</button>
</body>
Try using code below
Math.floor(Math.random()*1000) // return a number between 0 and 1000
to generate random numbers
And use if else statements for
High, low , correct

calling a function again in javascript

<!DOCTYPE html>
<html>
<head>
<title>input number</title>
</head>
<body>
enter no:1<input id="t1" type="text"><br>
<button type="button" onClick="myFunction()">submit</button>
<button type="button" onClick="myFunction()">next</button>
<div id="div1" style="color:#0000FF">
</div>
<script>
function myFunction(){
var no=document.getElementById("t1").value;
if(no==""||isNaN(no))
{
alert("Not Numeric");
}
else{
if(no!=1){
if(no%2==0){
no=no/2;
}
if (no%2!=0) {
no=(no*3)+1;
}
}
}
document.getElementById("div1").innerHTML = no;
}
</script>
</body>
</html>
After entering number in the text box when I press submit button it shows the following output
enter no:1
submit next
16
but when i press next button it is not showing any output.My expected output is when I press next button it shoult show the next no. by executing the logic in the myFunction() function.Helpme...
You haven't set any case for when no = 1. You have a case for when no != 1 and when no%2 != 0 both of which are false when no = 1. There isn't any increment logic in here to find the next number and return it. I think you are missing a } at the end of the no%2==0 clause.
Also I fail to see why you have two identical buttons here, next and submit do the same thing. Moreover I would advice more descriptive IDs. div1 isn't a good name for a div.
The javascript part should look like this, if the intention is to implement Collatz conjecture. http://en.wikipedia.org/wiki/Collatz_conjecture
function myFunction(){
var no=document.getElementById("t1").value;
if(no==""||isNaN(no)) {
alert("Not Numeric");
} else {
if(no!=1) {
if(no%2==0) {
no=no/2; // Note the division operator instead of mod
} else {
no=(no*3)+1;
}
}
}
document.getElementById("t1").value = no; // Note that we are writing to the textbox
}
There are some basic HTML issues too, in your post you are using the input tag as
<input id="t1" type="text"> use it as: <input id="t1" type="text" />
Secondly, when you submit the data to the function, you are having some value there! Maybe 1 is the value or 16, whatever. But when you are trying to resubmit, either its not allowed or your input is now an empty field. So the function is not executing further than this step:
if(no==""||isNaN(no))
Try to save the value in the form.
Try using this:
document.getElementById("t1").value = no;
Make sure that the value is captured as it was, because your code is changing the value into some other form, use a new variable for this. That would save the value from the input and again write it back to that input.
This will set the value for that text input as it was before the function. It might make the input again ready for the submit!

jQuery/JavaScript to compare maximum and minimum values

I'm using jQuery to compare the values of two input fields. One is the "maximum" value and one is the "minimum" value. The objective of the validation is to check if the minimum value is greater than the maximum value.
My logic is almost working but with a small bug. It is triggered with an onBlur event (on one of the tested fields) and once the pop-up alert displays, the user can click anywhere else, and the test is no longer run (thus allowing the minimum value to be greater than the maximum.
Here is the jQuery:
//Function to validate if maximum benefit value is more the minimum benefit value
function minMaxValues(){
var maxAmt = ($('#maxAmount').val());
var minAmt = ($('#minAmount').val());
if ((minAmt != '') && (maxAmt != '') && (maxAmt < minAmt)){
alert('The maximum benefit amount must be larger than the minimum amount.');
return false;
} else {
return true;
} //end maxAmt minAmt comparison
}//end minMaxValues function
The HTML:
<label>Maximum Benefit Amount:</label>
<input type="text" name="benefit_max_amount" value="" onBlur="minMaxValues();" id="maxAmount">
<label>Minimum Benefit Amount</label>
<input type="text" name="benefit_min_amount" value="" onBlur="minMaxValues();" id="minAmount">
How do I get jQuery to look at the page all the time and compare the values so that the condition can never be true without an alert (warning)?
EDIT:
I should state that I'm looking for something modular, so that it can be used in other locations (thereby allowing this to go into an external js file, and not execute on page load, but only by calling a function.)
Delegate the check using jQuery on function so that it will check whenever the value changes in the inputs.
$('#container').on('change', 'input[name="benefit_max_amount"], input[name="benefit_min_amount"]', function(){
return minMaxValues();
});
container is the element used for demonstration purpose but you should use the one which contain the input elements on your page.
And your html need not contain any onblur events
<label>Maximum Benefit Amount:</label>
<input type="text" name="benefit_max_amount" value="" id="maxAmount">
<label>Minimum Benefit Amount</label>
<input type="text" name="benefit_min_amount" value="" id="minAmount">
Your JavaScript function (changed as mentioned in comments to parse integer values)
function minMaxValues(){
var maxAmt = ($('#maxAmount').val());
var minAmt = ($('#minAmount').val());
if ((minAmt != '') && (maxAmt != '')){
try{
maxAmt = parseInt(maxAmt);
minAmt = parseInt(minAmt);
if(maxAmt < minAmt) {
alert('The maximum benefit amount must be larger than the minimum amount.');
return false;
}
}catch(e){
return false;
}
} //end maxAmt minAmt comparison
return true;
}//end minMaxValues function
Finally the fiddle:
http://jsfiddle.net/x3kYs/3/
This is entirely built upon Nagarjun's answer, but since OP specifically asked for a more reusable solution, consider this...
Change the html thusly:
<div id="container">
<label for="maxAmount">Maximum Benefit Amount:</label>
<input name="benefit_max_amount" id="maxAmount" data-range="benefit" data-aspect="max">
<label for="minAmount">Minimum Benefit Amount</label>
<input name="benefit_min_amount" id="minAmount" data-range="benefit" data-aspect="min">
</div>
I've added two data attributes to each input. One to group them as a range pair (data-range) and one to distinguish which is which (data-aspect).
Then you can add this javascript and run it anywhere you like, it will only affect pages with elements like those above:
function validate_range() {
var range = $(this).data("range");
var min = + $("input[data-range=" + range + "][data-aspect=min]").val();
var max = + $("input[data-range=" + range + "][data-aspect=max]").val();
if (min && max && min > max) {
alert("Invalid Range");
}
}
$(function () {
$("#container").on("change", "input[data-range]", validate_range);
});
To reuse the script, you just need to create two inputs and give them a matching data-range and appropriate data-aspects. I leave the task of getting a custom alert message through up to the OP.
Fiddle

How do I execute a JavaScript function from clicking an HTML button?

I am trying to write a short piece of html code that, given two initial amounts, attempts to find the number greater than or equal to the first that wholly divides the second given amount. The code tries to divide the numbers, and if it is unsuccessful, adds 1 to the first number and tries to divide again, etc...
I want the code to return the value that does wholly divide the second number AND the answer to the division (with some plain text appearing around it).
Added to this, or at least I'd like there to be, is that upon clicking one of 5 different buttons a multiplication operation is performed on the first given number, it is rounded up to the nearest whole number, and THEN the function attempts to divide this into the second given number.
It's difficult to explain exactly what I want without showing you the code I have so far, so here it is:
<html>
<head>
<b>Rounded Commodity Pricing:</b><br>
<script language="Javascript">
function finddivid(marketprice,tradevalue) {
var KWDex = 0.281955
var GBPex = 0.625907
var USDex = 1
var CADex = 0.998727
var EURex = 0.784594
if
(currency == "KWD")
var currencyMarketprice = Math.ceil(marketprice*KWDex)
else if
(currency == "GBP")
var currencyMarketprice = Math.ceil(marketprice*GBPex)
else if
(currency == "USD")
var currencyMarketprice = Math.ceil(marketprice*USDex)
else if
(currency == "CAD")
var currencyMarketprice = Math.ceil(marketprice*CADex)
else if
(currency == "EUR")
var currencyMarketprice = Math.ceil(marketprice*EURex)
if (tradevalue % currencyMarketprice == 0)
return ("tonnage = " + tradevalue / currencyMarketprice + " mt, and price = " + currencyMarketprice +" " +currency +" per mt");
else
{for (var counter = currencyMarketprice+1; counter<(currencyMarketprice*2); counter++) {
if (tradevalue % counter == 0)
return ("tonnage = " + tradevalue / counter + " mt, and price = " + counter +" " +currency +" per mt");}}};
</script>
</head>
<p>Select currency:
<input type="button" value="KWD" OnClick="var currency = KWD">
<input type="button" value="USD" OnClick="var currency = USD">
<input type="button" value="GBP" OnClick="var currency = GBP">
<input type="button" value="EUR" OnClick="var currency = EUR">
<input type="button" value="CAD" OnClick="var currency = CAD">
<P>Enter today's price of commodity in USD: <input name="mktprc" input type="number"><br><p>
<P>Enter value of trade: <input name="trdval" input type="number">
<input type="button" value="Calculate" OnClick="showMeArea.value=finddivid(mktprc,trdval);">
<p>
<br><br>
<input name="showMeArea" readonly="true" size="30">
</html>
If you run this html in your browser you should see what I am trying to achieve.
It is far from complete but here are the main problems/features that I need help with:
I would like to be able to click on one of the 'currency' buttons so that upon clicking, the variable 'currency' is assigned and then used in the function finddivid.
(2. This isn't as important right now, but eventually, once this is working, I'd like it so that upon clicking one of the currency buttons, it changes colour, or is highlighted or something so that the user knows which currency rate they are using.)
Upon entering the numbers into the two boxes I would like to click 'Calculate' and have it return what I've written in the function into the 'showMeArea' read-only box at the end of the code.
I know I'm probably missing loads of stuff and I might be miles away from success but I am very new to programming (started 4 days ago!) so would like any like of help that can be offered.
Thanks in advance of your comments.
The first request requires that you put the currency into the actual script, and I would recommend using a setter function:
<script language="Javascript">
var currency; // you might want to set this at a default just in case
function setCurrency(val) { currency = val; } // Setter function
function finddivid(marketprice,tradevalue) {
Then call it in your button click:
<input type="button" value="KWD" onClick="setCurrency('KWD');">
As for the second request, I'd say you have the concept down well enough, but you don't have the method exactly right. First your inputs will need an id attribute:
<input name="mktprc" id="mktprc" input type="number">
<input name="trdval" id="trdval" input type="number">
The name attribute is used for posting values, the id attribute is used by javascript to find elements within a page. Using jQuery would make retrieving these elements easy, but I'll show both the jQuery and the standard JavaScript method of doing this:
jQuery:
<input type="button" value="Calculate" OnClick="$('#showMeArea').val(finddivid($('#mktprc'),$(#'trdval')));">
The $('#id') selects an element. The method .val() sets the value.
Note for the jQuery purists: Yes, there are much better/sophisticated ways to accomplish this with jQuery, but this answer is targeted to my perception of OP's JavaScript capability.
Standard Javascript:
<input type="button" value="Calculate" OnClick="document.getElementById('showMeArea').value = finddivid(document.getElementById('mktprc'),document.getElementById('trdval'));">

Categories

Resources