У меня есть функция javascript, которая вычисляет целочисленную сумму некоторых переменных. Это в основном
fscalculate() = number1 + number2 + number3 = totalScore
где fscalculate() добавляет три числа и задает результат как переменную totalScore.
Я создал форму, которая запрашивает у пользователя его имя и адрес электронной почты, я использовал php-скрипт для отправки имени и электронной почты на адрес электронной почты с использованием метода POST.
Я хотел бы создать поле, которое автоматически заполняется целочисленным totalScore. Если это возможно, я должен был бы добавить строку в свой php-скрипт, чтобы отправить ее с именем пользователя и адресом электронной почты,
Любая помощь была бы очень признательна!
Используйте <output>
HTML5 <output>
. Он предназначен для сбора результатов расчета формы.
<form oninput="totalScore.value = (+num1.value)+(+num2.value)+(+num3.value);">
<input type="number" id="num1" />+
<input type="number" id="num2" />+
<input type="number" id="num3" />=
<output name="totalScore" for="num1 num2 num3"></output>
</form>
Здесь разбивка того, что происходит:
Поскольку ввод является строкой, мы хотим принудить его к числу с помощью +someString
Мы указываем список входных идентификаторов полей, которые входят в расчет. Как правило, это используется так, что мы не получаем результат NaN
в случае, если одно из полей ввода пусто. Но поскольку мы вводим ввод в число, пустая строка преобразуется в 0. Следовательно, это необязательно, но полезно иметь для ясности (особенно если вычисления становятся более сложными).
Обратите внимание, что мы не включаем атрибуты name
для ввода количества. Это делается для того, чтобы не доставлять их. Мы только обеспокоены результатом.
Кроме того, здесь список браузеров, которые в настоящее время поддерживают output
.
var totalscore = num1+num2+num3;
Предполагая, что ваш элемент формы html
<input type="text" id="score">
использовать jquery
$("#score").val( "hi");
полный тестовый код:
<html>
<head>
<script src="jquery.js">
</script>
<script>
$(document).ready(function(){
$("#score").val( "hi");
});
</script>
</head>
<body>
<input type="text" id="score">
</bodY>
</html>
Попробуйте что-то вроде этого:
<input type="text" id="total" value="" disabled />
<script>
var totalScore = num1+num2+num3;
document.getElementById("total").value = totalScore;
</script>
Удачи!