Помещение результата вычисления JavaScript в форму HTML автоматически

0

У меня есть функция javascript, которая вычисляет целочисленную сумму некоторых переменных. Это в основном

fscalculate() = number1 + number2 + number3 = totalScore

где fscalculate() добавляет три числа и задает результат как переменную totalScore.

Я создал форму, которая запрашивает у пользователя его имя и адрес электронной почты, я использовал php-скрипт для отправки имени и электронной почты на адрес электронной почты с использованием метода POST.

Я хотел бы создать поле, которое автоматически заполняется целочисленным totalScore. Если это возможно, я должен был бы добавить строку в свой php-скрипт, чтобы отправить ее с именем пользователя и адресом электронной почты,

Любая помощь была бы очень признательна!

Теги:

3 ответа

2

Используйте <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.

  • 0
    Этот ответ выглядит многообещающе! Тем не менее, мой PHP-код выглядит следующим образом: / * Переменные данных * / $ email = $ _POST ['email']; $ name = $ _POST ['name']; $ оценка = $ _POST ['оценка']; $ body = <<< EOD <br> <hr> <br> Имя: $ name <br> Электронная почта: $ email <br> Счет: $ score <br> Будет ли работать эта оценка?
0
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>
0

Попробуйте что-то вроде этого:

<input type="text" id="total" value="" disabled />
<script>
    var totalScore = num1+num2+num3;
    document.getElementById("total").value = totalScore;
</script>

Удачи!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню