Я начинаю использовать javaScript в HTML, я пытаюсь создать умножение между двумя значениями, введенными пользователем, и отобразить результат в другом текстовом поле, но результат, который отображается неправильно.
Есть три текстовых поля, первый ящик, который я положил 2, а второй 7, в третьем текстовом поле он должен отображать результат 14, но он показывает, что результат равен 98.
Может ли кто-нибудь помочь мне?
Мой HTML-код выглядит следующим образом:
<tr style="background:#fafafa;">
<td style="border:1px solid #ccc; border-width:1px 1px 0 0;"><textarea name="exp_desc" id="exp_desc" rows="3" cols="35"></textarea></td>
<td style="border:1px solid #ccc; border-width:1px 1px 0 0; color: #D6D6D6;"><input class ="txt" type="text" name="txt"></td>
<td style="border:1px solid #ccc; border-width:1px 1px 0 0;"><input class ="txt" type="text" name="txt"></td>
<td style="border:1px solid #ccc; border-width:1px 1px 0 0;"><input span id='sum' class ="txt" type="text" name="txt"></span></td>
<td style="border:1px solid #ccc; border-width:1px 1px 0 0;"><input type="file" name="datafile[]" size="40"></td>
</tr>
и javaScript:
$(document).ready(function(){
$(".txt").each(function() {
$(this).keyup(function(){
calculateSum();
});
});
});
function calculateSum() {
var sum = 1;
$(".txt").each(function() {
if(!isNaN(this.value) && this.value.length!=0) {
sum *= parseFloat(this.value);
}
});
// enter code here
$("#sum").val(sum.toFixed(2));
}
Изменен ваш javascript для:
<script>
var num1=0;
var num2=0;
$(document).ready(function(){
$("#txt1,#txt2").on("keyup",function(){
num1 = $("#txt1").val();
num2 = $("#txt2").val();
if(!isNaN(this.value) && this.value.length!=0) {
num1 *= parseFloat(num2);
$("#sum").val(num1.toFixed(2));
}
});
});
</script>
Html:
<tr style="background:#fafafa;">
<td style="border:1px solid #ccc; border-width:1px 1px 0 0;"><textarea name="exp_desc" id="exp_desc" rows="3" cols="35"></textarea></td>
<td style="border: 1px solid #ccc; border-width: 1px 1px 0 0; color: #D6D6D6;"><input class ="txt" type="text" name="txt" id="txt1"></td>
<td style="border:1px solid #ccc; border-width:1px 1px 0 0;"><input class ="txt" type="text" name="txt" id="txt2"></td>
<td style="border:1px solid #ccc; border-width:1px 1px 0 0;"><input id='sum' class ="txt" type="text" name="txt"></td>
<td style="border:1px solid #ccc; border-width:1px 1px 0 0;"><input type="file" name="datafile[]" size="40"></td>
</tr>