Ich muss um Hilfe bei der Lösung von zwei Problemen bitten.JS - Typeof funktioniert nicht mit Eingabe | document.getElementById Problem
document.getElementById.value
inlet
gespeichert nicht mitinnerHTML
in einem anderenlet
gespeichert funktioniert. Ich habe ein paar ähnliche Themen gesehen, aber sie haben mir nicht geholfen.Ein Problem erscheint, wenn ich die Nummer von
typeof
überprüfen muss, es läuft nur, wie JS es nicht sieht.
Hier ist mein Code. Danke für jede Beratung und Hilfe.
function wage() {
let input = document.getElementById('annualInput').value;
let output = document.getElementById('resultMonthly').innerHTML;
// it doesn't work, but it works with pure document.getElementById('result').innerHTML = input;
output = input;
/*
if (input !== '') {
// this if doesn't work even with string and number
if (typeof input == 'number')
document.getElementById('result').innerHTML = input;
} else {
document.getElementById('result').innerHTML = 'Please, type your annual wage';
}
*/
// annual wage devided by 12 months
let resultMonthly = input/12;
let showMonthly = 'Your monthly wage: ' + resultMonthly.toFixed(2);
// monthly wage devided by 20 days
let resultDaily = resultMonthly/20;
let showDaily = 'Your daily wage: ' + resultDaily.toFixed(2);
// daily wage devided by 8 hours
let resultHourly = resultDaily/8;
let showHourly = 'Your hourly wage: ' + resultHourly.toFixed(2);
if (input !== '') {
document.getElementById('resultMonthly').innerHTML = showMonthly + ' $';
document.getElementById('resultDaily').innerHTML = showDaily + ' $';
document.getElementById('resultHourly').innerHTML = showHourly + ' $';
} else {
document.getElementById('resultMonthly').innerHTML = 'Please, type your annual wage';
}
}
<!DOCTYPE html>
<html>
<head>
<title>Wage App</title>
<meta charset="utf-8">
<title>Issue App</title>
<link rel="stylesheet" type="text/css" href="wageup.css">
</head>
<body>
<div class="container">
<div class="jumbotron">
<!-- the title and desc -->
<h1 class="display-4 text-center">WageApp</h1>
<p class="h6 text-center" id="paragraphTitle">
This is a simple App for calculating wage by year, month, day and hour
</p>
<hr class="my-4">
<!-- input-form -->
<form>
<div class="form-group">
<label for="annualInput">Your annual wage</label>
<input type="annualData" class="form-control" id="annualInput" aria-describedby="hep" placeholder="Annual wage in $">
<small id="help" class="form-text text-muted">We'll never share your wage with anyone else.</small>
</div>
<button onclick="wage()" type="button" class="btn btn-primary btn-sm" id="checkButton">Check</button>
</form>
</div>
<div class="alert alert-success" role="alert" id="resultMonthly"></div>
<div class="alert alert-info" role="alert" id="resultDaily"></div>
<div class="alert alert-warning" role="alert" id="resultHourly"></div>
</div>
<!-- JS -->
<script type="text/javascript" src="wageUp.js">
<!-- Jquery -->
<script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
<!-- Bootstrap -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
</body>
</html>
Was ist 'type =" annualData "'? und der Typ einer Textbox wird eine Zeichenfolge sein, es wird keine Nummer sein. – epascarello
Der Wert eines normalen Eingabeelements ist vom Typ String – user2520818