Передайте значение переменной javascript в скрытое значение типа ввода
Я хотел бы присвоить значение произведения двух целых чисел в скрытое поле уже в html-документе.
Я думал о том, чтобы получить значение переменной javascript, а затем передать его на скрытый тип ввода.
Мне сложно объяснить, но так оно и должно работать:
Script Пример
<script type="text/javascript">
function product(a,b){
return a*b;
}
</script>
выше вычисляет произведение, и я хочу, чтобы продукт находился в скрытом поле.
<input type="hidden" value="[return value from product function]">
Как это возможно?
Ответы
Ответ 1
Вы можете указать скрытое поле id:
<input type="hidden" id="myField" value="" />
а затем, когда вы хотите присвоить его значение:
document.getElementById('myField').value = product(2, 3);
Убедитесь, что вы выполняете это задание после полной загрузки DOM, например, в событие window.load
.
Ответ 2
если у вас уже есть скрытый ввод:
function product(a, b) {
return a * b;
}
function setInputValue(input_id, val) {
document.getElementById(input_id).setAttribute('value', val);
}
Если нет, вы можете создать его, добавить в тело и затем установить его значение:
function addInput(val) {
var input = document.createElement('input');
input.setAttribute('type', 'hidden');
input.setAttribute('value', val);
document.body.appendChild(input);
}
И затем вы можете использовать (в зависимости от случая):
addInput(product(2, 3)); // if you want to create the input
// or
setInputValue('input_id', product(2, 3));
Ответ 3
Вы можете сделать это вот так:
<script type="text/javascript">
function product(a,b)
{
return a*b;
}
document.getElementById('myvalue').value = product(a,b);
</script>
<input type="hidden" value="THE OUTPUT OF PRODUCT FUNCTION" id="myvalue">
Ответ 4
Скрытое поле:
<input type="hidden" name="year" id="year">
Script:
<script type="text/javascript">
var year = new Date();
document.getElementById("year").value=(year.getFullYear());
</script>
Ответ 5
Просмотрите эту страницу jQuery для некоторых интересных примеров того, как играть с атрибутом value и как его называть:
http://api.jquery.com/val/
В противном случае - если вы хотите использовать jQuery вместо javascript для передачи переменных на вход любого типа, используйте установить значение ввода в событии click()
, submit()
et al:
на каком-либо событии; присвойте или установите значение ввода:
$('#inputid').val($('#idB').text());
где:
<input id = "inputid" type = "hidden" />
<div id = "idB">This text will be passed to the input</div>
Используя такой подход, убедитесь, что html-ввод не указывает явно значение или отключенный атрибут.
Остерегайтесь различий betwen .html()
и .text()
при работе с html-формами.
Ответ 6
добавить некоторый идентификатор для ввода
var multi = product(2,3);
document.getElementById('id').value=multi;
Ответ 7
<script type="text/javascript">
function product(x,y)
{
return x*y;
}
document.getElementById('myvalue').value = product(x,y);
</script>
<input type="hidden" value="THE OUTPUT OF PRODUCT FUNCTION" id="myvalue">
Ответ 8
//prompts for input in javascript
test=prompt("Enter a value?","some string");
//passes javascript to a hidden field.
document.getElementById('myField').value = test;
//prompts for input in javascript
test2=prompt("Enter a value?","some string2");
//passes javascript to a hidden field
document.getElementById('myField').value = test2;
//prints output
document.write("hello, "+test+test2;
теперь это запутывает, но это должно сработать...