|
Hi, I really new to javascript. I was doing a JavaScript program that accept two integers and display the larger.
Below is the program, It only displays the 2nd number. Can you tell me what i am doing wrong in this please?????
var x = prompt("Enter 1st number");
var y = prompt ("Enter 2nd number");
if(x>y){
alert(x);
}
else {
alert(y);
}
I will really appreciate your help and this helps me to learn more..
|
|
|
|
|
The prompt() method[^] returns a string[^].
When you compare two strings, you are comparing them character-by-character; if they're not exactly the same length, you won't get a numeric comparison. For example, the string "10" is less than the string "2" , because the first character of the first string ("1" ) is less than the first character of the second string ("2" ).
To get a numeric comparison, you need to convert the strings to numbers. If you're only expecting whole numbers, use parseInt[^]; for floating-point numbers, use parseFloat[^].
You can also use Math.max()[^] to get the higher number without an if / else block.
var x = prompt("Enter 1st number");
var xAsNumber = parseInt(x, 10);
while (isNaN(xAsNumber)) {
x = prompt("Enter 1st number");
xAsNumber = parseInt(x, 10);
}
var y = prompt("Enter 2nd number");
var yAsNumber = parseInt(y, 10);
while (isNaN(yAsNumber)) {
y = prompt("Enter 2nd number");
yAsNumber = parseInt(y, 10);
}
var highestNumber = Math.max(xAsNumber, yAsNumber);
alert(highestNumber);
if (xAsNumber > yAsNumber) {
alert(xAsNumber);
}
else {
alert(yAsNumber);
}
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Ohh.., Thanks a lot Richard. I really appreciate your help. I have one more question, why we are using 10 in this
xAsNumber = parseInt(x, 10); and what is
isNaN
Thanks alot in advance..
|
|
|
|
|
Passing 10 as the second argument to parseInt is to prevent it from trying to guess the radix based on the string.
In some older implementations, calling parseInt("010") would return 8 , not 10 . The 0 prefix on the string would be interpreted to mean that the string contains an Octal[^] number.
Even in modern implementations, parseInt("0x10") will return 16 , because the 0x prefix denotes a Hexadecimal[^] number.
The isNaN method[^] determines whether the argument is N ot a N umber. This is a special value returned from parseInt / parseFloat when the input cannot be converted to a number.
So, for example, if the user types in "foobar" for the first number, parseInt will return NaN , and you need to ask the user to type the number again.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Thanks a lot. You made this very easy to understand. Thanks once again.
|
|
|
|
|
Hey abdul,
It works fine for me. Again check this program in some other IDE, it will surely execute.
Hope this helps you.
Pawan Kumar
|
|
|
|
|
I've got this script which works out a users pension after they enter in their Total Years in the Scheme 'pensionYears' along with their salary. - This bit works fine - a function called doMath() works out lots of other financial stuff.
I've now put 2 calendars in there: 'dateStart' and 'dateEnd'.
I want to use the difference between these 2 dates to work out the user's total years in service instead of having the user enter in the total years. I've got part of this working - I've got a text box called 'diffYrs' which does work out the difference between the 2 dates.
What I can't do is grab the value from 'diffYrs' and use this in my doMath() function and make 'pensionYears' = 'diffYrs'. Not sure if this is to do with the fact that its outside the scope and needs to be declared as some kind of global variable? - I tried putting everything inside the same function but that didn't work (not sure if that's because one is more a jquery script and other javaScript?)
I was trying to use something like:
var pensionYears = $('#diffYrs');
here's a fiddle:
https://jsfiddle.net/yorkshireweb/ye2nboxL/
thanks for looking
modified 12-Jan-17 5:29am.
|
|
|
|
|
Either read the value from the diffYrs input instead of the pensionYears input:
var pensionYears = $('#diffYrs').val();
or update both inputs when the end date changes:
$("#diffYrs, #pensionYears").val(custRound(years,2));
Here's an updated fiddle:
Edit fiddle - JSFiddle[^]
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
thanks Richard, both work!
I thought I'd tried the first option before, but might have put it in the wrong place or had something else wrong at the time).
|
|
|
|
|
Hi All,
This Tab Add/Close functionality working as a static . I want to how to dynamically Add/Close tab items.
implemented code :
<html>
<head runat="server">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript" src="js/JavaScript.js"></script>
<script type="text/javascript">
function openfunc()
{
winGoogle = window.open("http://google.com");
winGmail = window.open("http://gmail.com");
winMsdn = window.open("http://msdn.com");
winyahoo = window.open("http://yahoo.com");
windeveloper = window.open("http://developercenter.azurewebsites.net/");
}
function closefunc()
{
winGoogle.close();
winGmail.close();
winMsdn.close();
winyahoo.close();
windeveloper.close();
}
</script>
</head>
<body>
<h1>Multiple Tab</h1>
<input type="button" value="Open tab" onclick="openfunc()"/>
<input type="button" value="Close all tab" onclick="closefunc()"/>
</body>
</html>
How to implemented dynamically
Thanks,
|
|
|
|
|
I am trying to write code for my calendar next and previous buttons. But after a lot of tries I still can't figure it out. Here is HTML:
<div class="calendar-container">
<div class="calendar-header">
<a href="#" class="arrows" id="prevArrow">
<div class="prev-arrow-container"></div>
</a>
<div class="year-month-selector">
<select id="year" class="select-properties"></select>
<select id="month" class="select-properties"></select>
</div>
<a href="#" class="arrows" id="nextArrow">
<div class="next-arrow-container"></div>
</a>
</div>
<div class="calendar-body" id="calendar-body">
<div class="day-names" id="dayNames"></div>
<div id="days-container"></div>
</div>
</div>
Here is some JS:
setHandlers() {
var prevButton = document.getElementById('prevArrow');
var nextButton = document.getElementById('nextArrow');
nextButton.addEventListener('click', function () {
this.next();
}.bind(this));}
next() {
var currentYear = this.currentDate.getFullYear();
var currentMonth = this.currentDate.getMonth();
if (currentYear === YEAR_END && currentMonth === 11) {
return;
}
this.currentDate.setMonth(currentMonth + 1);
this.setDate();}
setDate() {
var currentYear = this.currentDate.getFullYear();
var currentMonth = this.currentDate.getMonth();
this.yearSelector.selectedIndex = currentYear - YEAR_START;
this.monthSelector.selectedIndex = currentMonth;}
createDays() {
var daysContainer = document.getElementById('days-container');
var newDate = new Date(this.currentDate.getFullYear(), this.currentDate.getMonth() + 1, 0);
var lengthOfMonth = newDate.getDate();
var date = 1;
for (var i = 0; i < 42; i++) {
var day = daysContainer.children[i];
if(i < this.startingCell) {
day.innerText = "prev";
day.style.opacity = '.2'
} else if (i > this.startingCell + lengthOfMonth){
day.innerText = "next";
day.style.opacity = '.2'
} else {
day.innerText = date;
date++;
}
}}
The whole source can be found here. Any kind of help is appreciated. It would be okay that you give hints about how to link one of the buttons to the calendar-body, that is when of the prev/next is clicked the calendar-body content is changed respectively back and forward. Thanks in advance.
|
|
|
|
|
What is your question? I'm not sure many people are going to be willing to download all your code and try to figure out what you want it to do.
There are two kinds of people in the world: those who can extrapolate from incomplete data.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
Hello ,
In our project we have parent page in which all required js files are included ,
but in one jsp I want to override the fusioncharts.js file which is of different version but older version of this file is already included in parent container,so when I am including it in my jsp it referring to the fusioncharts.js which is included in parent container.
Could you help me in how can I override the JS file in my JSP.
Thanks in Advance
Amol.
|
|
|
|
|
Good day friends! I am working on a site and in this site there is HTML link. On click event of the link am calling JavaScript function which is running fine. but when I specify the href of the link the JS function is discarded.
|
|
|
|
|
There might be an exception, check your console for errors. F12 for development tools and then check Console for any messages.
Also, use event.preventDefault() to stop the browser from navigating away upon click on the link,
function onclickhandler() {
event.preventDefault();
}
This will do what you need.
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~
|
|
|
|
|
thanks for the reply. the link button is Compose. what if person click on Inbox link and from Inbox page click on Compose link? For sure the person will be redirected to Compose page but the popup div appears and disappear after complete load of the page. Any help please.
|
|
|
|
|
Then, in such cases if you only want to dynamically update the content instead of having to manage events, I recommend using Single-page applications.
If not, then use my suggestion, that was the answer to disable the browser from navigating to that link itself, you can run the logic as needed.
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~
|
|
|
|
|
How are we supposed to know what is happening without being able to see anything?
There are two kinds of people in the world: those who can extrapolate from incomplete data.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
Magic!
There are two kinds of people in the world: those who can extrapolate from incomplete data.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
Hi All,
I have a script which downloads the file from the server. Its was working fine, but its throwing error now.
I am getting error while creating the object using WScript.
please let me know how to fix this issue.
<html>
<head>
<script Language ="Javascript">
var userId = "fm012097";
window.alert(userId)
var password = "Bllchr1$";
window.alert(password)
var localDirectory = "c:\\temp";
window.alert(localDirectory)
var oHDL = WScript.CreateObject( "DSTHTTPDL.DownloadManager" );
oHDL.Host = "xyz.com";
oHDL.Target = "/sample";
alert(oHDL.Target)
oHDL.Client = "415171403";
oHDL.UseProxy = false;
oHDL.UseHttps = true;
oHDL.Asynchronous = false;
oHDL.UserID = userId;
oHDL.Password = password;
oHDL.LocalDirectory = localDirectory;
window.alert(oHDL)
var fileListing = oHDL.GetFileListAsXML();
window.alert(fileListing)
var xmldoc = WScript.CreateObject( "Msxml2.DOMDocument.4.0" );
xmldoc.async = false;
xmldoc.preserveWhiteSpace = true;
xmldoc.loadXML( fileListing );
var dListing = "";
var docelement = xmldoc.documentElement;
window.alert(docelement)
var iCount = 0;
if ( docelement.hasChildNodes() )
{
var nodeList = docelement.childNodes;
var node = nodeList.nextNode();
while ( node != null )
{
var file = node.getAttribute( "name" );
var display = node.getAttribute( "short-name" );
window.alert(file+''+display)
dListing += file;
dListing += ";";
iCount++;
node = nodeList.nextNode();
}
}
oHDL.DownloadFiles( dListing )
oHDL = null;
</script>
</head>
</html>
|
|
|
|
|
That is simple, how are you telling JavaScript, where to look for WScript definition? It requires JScript by Microsoft and will only run on Windows, where you can execute wscript.exe executable.
For example, look here javascript - ReferenceError: WScript is not defined - Stack Overflow[^], or here, VBScript and CreateObject issue - Stack Overflow[^]. Then again, it would heavily require clients to have dependencies installed.
If the purpose is just to download, why can't you use native JavaScript, or a minimal C++ program?
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~
|
|
|
|
|
The error would tell you what the problem is. Is there a reason you did not include the error?
There are two kinds of people in the world: those who can extrapolate from incomplete data.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
Hi,
I was wondering if someone could please help me with the following code as it doesn't seem to be working and I cant work out why. Basically, I am attempting to create a document referrer so if a user on a website comes from X site (that site only) then they are redirected to A but if they come from Y they are redirected to B, while if they come from an internal source then they can continue.
The code is:
<pre lang="Javascript">
var regExp = /https:\/\/(anon.to)\/(xxxxxx)/g;
var dr = document.referrer;
if (dr == '') {
self.location='WebsiteExample1';
} else if (dr.match(regExp)) {
self.location ='Otherplaceonwebsite';
}
The code works if I just use var regExp = /https:\/\/(anon.to)/g; but that allows anyone from anon.to to access the link rather than just the users with the https://anon.to/xxxxxx link.
Hopefully this makes sense and someone can help.
Thanks,
|
|
|
|
|
Quote: Create a secure anonymous short link from your url which also hides http referer!
The service you're using deliberately hides the referrer information. Therefore, you can't use the referrer to detect whether the user came from your anon.to link.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
function getLocation() {
navigator.geolocation.getCurrentPosition(function (pos) {
var lat = pos.coords.latitude;
var lng = pos.coords.longitude;
if (lat == null) {
navigator.notification.alert("GPS not activated!", null, "GPS", "Ok");
}
else {
navigator.notification.alert("Latitude: " + lat + " , Longitude: " + lng, null, "GPS", "Ok");
}
});
}
|
|
|
|