Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
Improve this question
I'm new to query/javascript and having a problem with the following code to calculate a gross value and tax amount based
on the net amount the user enters. The user will enter a double amount and the gross and vat amounts are also defined as doubles.
Can anyone help? I get an error: "Uncaught SyntaxError: Unexpected number" when i try running the following code.
$('#netPayment').change(calcLowerVatRateAndGrossAmount);
/* $('#netPayment').change(function(){
calcLowerVatRateAndGrossAmount();
}); */
});
function calcVatRateAndGrossAmount(){
var netPayment = parseFloat($('#netPayment').val());
var vatAmount = 00.0;
var VatRate = 20.0;
var grossPayment = 0.00;
var totalPaymentAmount = 0.00;
if (netPayment !== '') {
vatAmount = (netPayment * VatRate) / 100;
grossPayment = (netPayment - vatAmount);
$('#vatAmount').val(parseFloat(vatAmount.data).toFixed(2));
$('#grossPayment').val(parseFloat(grossPayment.data).toFixed(2));
} else {
$('#vatAmount').val(vatAmount.amountNull);
$('#grossPayment').val(grossPayment.amountNull);
}
};
So you calculate a number here
vatAmount = (netPayment * VatRate) / 100;
And in here, you treat vatAmount as an object that has a key data
$('#vatAmount').val(parseFloat(vatAmount.data).toFixed(2));
You should just be using the variable. A simple test
console.log("variable itself: ", vatAmount);
console.log("key data: ", vatAmount.data);
So you would need to just do
$('#vatAmount').val(vatAmount.toFixed(2));
$('#grossPayment').val(grossPayment.toFixed(2));
You do the same thing with grossPayment and you reference some other property vatAmount.amountNull
$('#vatAmount').val(vatAmount.amountNull);
$('#grossPayment').val(grossPayment.amountNull);
should be
$('#vatAmount').val(""); //or any error message
$('#grossPayment').val("");
Related
Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 2 years ago.
Improve this question
I want to get the value from the input in the html code and edit it, then put it in the div, but I get undefined.
HTML
<input type="text" id='doller'>
<button onclick="convertUsdToRiyal()">convert usd to Riyal</button>
<div id="result"></div>
<script src="js1.js"></script>
JS
function convertUsdToRiyal() {
'use strict';
var amount = document.getElementById('doller').Value,
result = 3.75 * amount,
massage = document.getElementById('result');
massage.innerHTML = amount;**//here i get undefined**
}
The "value" attribute should be in lower case, because javascript is a case sensitive language. So the instruction will be :
var amount = document.getElementById("doller").value.
Here is the code in es6 (ECMAscript 2015) for the convertUsdToRiyal() function:
convertUsdToRiyal = () => {
let amount = document.getElementById("doller").value;
result = 3.75 * amount;
massage = document.getElementById("result");
massage.innerHTML = result;
};
or just simply:
convertUsdToRiyal = () => {
document.getElementById("result").innerHTML = 3.75*document.getElementById("doller").value;
};
document.getElementById('doller').Value should be changed to document.getElementById('doller').value.
Value should be lowercase.
/*global console*/
function convertUsdToRiyal() {
var amount = document.getElementById('doller').value,
result = 3.75 * amount,
massage = document.getElementById('result');
console.log(amount);
massage.innerHTML = result;
}
<input type="text" id='doller'>
<button onclick="convertUsdToRiyal()">convert usd to Riyal</button>
<div id ="result"></div>
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
I have a string like A/B/C/D.txt
So I want to replace the character just before the last . with the new one.
Like I would add E in last So the output should be A/B/C/E.txt
Can this is possible with only replace and concat Or Regex should help?
I'm sure the output is correct.
A/B/C/E.txt
var filename = 'A/B/C/D.txt';
var dotIndex = filename.lastIndexOf('.');
document.write(filename.substr(0, dotIndex-1) + 'E'+filename.substr(dotIndex, filename.length-dotIndex));
var parts = 'A/B/C/D.txt'.split('.');
if(parts.length > 1)
{
parts[parts.length-2] = parts[parts.length-2].replace(/.$/,"E");
let result = parts.join('.');
console.log(result);
}
Try this:
let name = "A/B/C/D.txt"
let res = name.substr(0, name.lastIndexOf(".")) + "E." + name.substr(name.lastIndexOf(".") + 1);
console.log(res);
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 7 years ago.
Improve this question
I'm trying to validate a postcode using JavaScript.
I have my regex.
^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([A-Za-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z])))) {0,1}[0-9][A-Za-z]{2})$
This is my function so far, not sure how to implement regex.
function validatePostcode()
{
var postcode = document.getElementById("postcode").value;
}
Any other suggestions that would format a postcode that matches;
CF24 9DG
You can do something like this:
function validatePostalCode(){
var regExp = /^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([A-Za-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z])))) {0,1}[0-9][A-Za-z]{2})$/;
var postcode = document.getElementById("postcode").value;
if( regExp.test( postcode ) ){
// Do something here, result is true.
} else {
alert("result is false");
}
}
You can try it out in this fiddle: http://jsfiddle.net/Cedriking/5b8wtf1f/2/
You should use JavaScript test() Method RegExpObject.test(string) that returns:
TRUE if the input string matches the RegExpObject regex
FALSE if the input string does not match the RegExpObject regex
Your validator function should look like this:
var validatePostCode = function(postCode) {
var parsePostCode = 'your_regex';
return parsePostCode.test(postCode);
};
var postCode = document.getElementById("postcode").value;
validatePostCode(postCode); // calling the validator function
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
Improve this question
I need your help on my new project
I hate regular expressions and its rules but i must use it this project.
want do this replace
var aString = '[bkz:sample key]';
I want get into key variable 'sample key' value from this aString
var key,clean;
key = 'sample key';
clean = cleanChars(key);
// clean = sample_key
//my target
key
how can i do this?
thanks in advance
function extractKey(str) {
var match = (str || '').match(/^\[bkz:(.+)\]$/);
return match? match[1] : '';
}
extractKey('[bkz:sample key]'); //sample key
var aString = "[bkz:sample key]";
var regex = /^\[(.+)\:(.+)\]$/;
var matches = regex.exec(aString);
// "sample key" should now be in matches[2]
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
Improve this question
I do not understand how I keep ending up with "null" after variable is assigned a number.
function evalKayScript(syn){
coms = extract(syn,"{...}");
document.write(JSON.stringify(coms));//debug
for(x in coms){
ops = extract(coms[x],"(...)");
com = null; //<-- ***com preset null***
for(y in funNames){
if(ops[1] == funNames[y]){
com = y; //<-- ***com changed to "y"***
}
}
alert(com); <-- alerts given below (first two alerts)
if(com == null){
alert("Command ((("+ops[1]+"))) Not Registered!");
return null;
}
exe = funValues[y];
inputs = execVars(ops[2]);
inputs = extract(inputs,"[...]");
for(y in inputs){
exe.replace(new RegExp("/\(\%"+y+"\%\)/gim"),inputs[y]);
}
exe.replace(new RegExp("/\(\%name\%\)/gim"),ops[0]).replace(new RegExp("/\(\%function\%\)/gim"),ops[1]);
exea = exe;
if(exe.replace(new RegExp("/\:\:\:javascript/gim"),"")! = exes){ //<-- new invalid ":" error
eval(exe);
}else{
evalKayScript(exe);
}
}
}
I do not understand why, variable "com" goes to a number, then back to null...
I have setup some error catching in my own form, and i end up with these alerts:
0 //<-- var com
null //<-- ***var com? this makes no sense, how does it go back to null?***
Command ((("(%name%) already exists!"))) Not Registered! //<--caused by if(com == null) This is normal.
Live script at http://jstone88.bugs3.com/kayscript/file1.html, and JS file at http://jstone88.bugs3.com/kayscript/kayscript.js
You aren't using RegExp constructor as it should have been used.
It is like this:
new RegExp("pattern without / at the beginning an end","flags");
/pattern/flags is literal form of writing a regex in js, but it is different in RegExp constructor.