很抱歉,这是一个简单的问题。
我有这个函数getOrderNumber(),我想使用javascript getTime()创建一个唯一的订单号。然后我需要函数getOrderNumber以某种方式为html元素赋值。我尝试了一些我在这里没有用的迭代。
任何帮助都将不胜感激。
(x,y)
答案 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'])
this
,window
的位置,如果您没有处于严格模式,并且您处于全球范围内。
实际上,如果您想要跨浏览器的等效方式来获取form
元素,
document.getElementsByTagName('form')[0]
每个DOM元素都有像getElementsByTagName
,getElementsByClassName
这样的方法,(这些返回HTMLCollection
,看起来像一个数组,但它不是......)
document
是包含getElementById
方法的一个对象,该方法返回具有特定标识符的第一个元素。
此外,如果要获取表单元素,请使用我引用的方法,或者只使用特定子项的'name'
属性索引表单引用。它是跨浏览器使用HTMLElement().getElementsByTagName
等
只有输入元素具有value
属性。您可以改为更改innerHTML
或innerText
(他们是吸引人/设定者);
答案 2 :(得分:0)
将Id名称设置为HTML表单
<form id="myForm" action="https://www.someurl/saocctest.cgi" method="post">
然后在函数
中使用this赋值document.getElementById("myForm").elements[0].value = 'hello';
或者使用
为您的输入和分配添加id / classdocument.getElementById('id'); // Using Id
document.getElementsByClassName('class')[0]; // Using class
它会起作用