使用javascript为html元素赋值

时间:2016-09-15 21:31:21

标签: javascript html function

很抱歉,这是一个简单的问题。

我有这个函数getOrderNumber(),我想使用javascript getTime()创建一个唯一的订单号。然后我需要函数getOrderNumber以某种方式为html元素赋值。我尝试了一些我在这里没有用的迭代。

任何帮助都将不胜感激。

(x,y)

3 个答案:

答案 0 :(得分:0)

我认为这就是你之后

<form id="myForm" action="https://www.someurl/saocctest.cgi" method="post">

<script>
function getOrderNumber() {
    var myForm = document.getElementById('myForm'); 
    var d = new Date();
    var n = d.getTime();
    myForm.elements[0].value = n;
}
</script>

<input type="hidden" name="orderNumber">

请注意,你可能只是给输入一个id并改变那个值,例如

<input type="hidden" name="orderNumber" id="myOrderNumber">

然后

document.getElementById('myOrderNumber').value = n;

另请注意,在此处使用document.getElementById("myForm").elements[0].value = 'hello';作为其他答案时,您要定位表单中的第一个元素,如果您在此上面添加了另一个元素,那么您将更新错误的商品值。

我提到的最安全的选项是在输入上放置一个id然后定位。

答案 1 :(得分:0)

JavaScript不会以这种方式创建HTML页面元素的全局引用。在现代浏览器中,如果您拥有具有特定标识符的元素,则可以直接从全局对象中的id获取它。

例如

<div id="my-id"></div>

JS

alert(this['my-id'])

thiswindow的位置,如果您没有处于严格模式,并且您处于全球范围内。

实际上,如果您想要跨浏览器的等效方式来获取form元素,

document.getElementsByTagName('form')[0]

每个DOM元素都有像getElementsByTagNamegetElementsByClassName这样的方法,(这些返回HTMLCollection,看起来像一个数组,但它不是......)

document是包含getElementById方法的一个对象,该方法返回具有特定标识符的第一个元素。

此外,如果要获取表单元素,请使用我引用的方法,或者只使用特定子项的'name'属性索引表单引用。它是跨浏览器使用HTMLElement().getElementsByTagName

只有输入元素具有value属性。您可以改为更改innerHTMLinnerText(他们是吸引人/设定者);

答案 2 :(得分:0)

将Id名称设置为HTML表单

<form id="myForm" action="https://www.someurl/saocctest.cgi" method="post">

然后在函数

中使用this赋值
document.getElementById("myForm").elements[0].value = 'hello';

或者使用

为您的输入和分配添加id / class
document.getElementById('id'); // Using Id
document.getElementsByClassName('class')[0]; // Using class

它会起作用

演示:https://jsbin.com/molagu/2/edit?html,js,output