2016-09-15 15 views
0

これは簡単な質問です。javascriptを使用してhtml要素に値を割り当てます。

私はこの関数getOrderNumber()を使用して、javascriptのgetTime()を使用して一意の注文番号を作成します。何とかhtml要素に値を代入するには、関数getOrderNumberが必要です。私はここで何をしているのかをいくつか試してみましたが、うまくいきませんでした。

ご協力いただければ幸いです。

私はこれがあなたはおそらく入力にIDを与えると、そのように、例えば値を変更することができ

<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"> 

お知らせ後にしているものだと思います

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

<!--get unique order number--> 
<script> 
function getOrderNumber() { 
    var d = new Date(); 
    var n = d.getTime(); 
    form.elements("orderNumber").value=n; 
} 
</script> 

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

もう少し調べる必要があるようです。私はここであなたが本当に達成しようとしていることを確信していません。あなたの機能とは何ですか?変数 'form'はどこから来ましたか?たぶんこれが役立ちます:http://www.w3schools.com/js/js_htmldom_html.asp – OneHoopyFrood

答えて

0

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

そしてまた

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

ここで他の回答ごとにdocument.getElementById("myForm").elements[0].value = 'hello';を使用しているときあなたがこの上の別の要素を追加する場合は、フォーム内の最初の要素をターゲットにしている、あなたは間違っを更新することに注意してください項目値。

私が言及したように最も安全なオプションは、入力自体にIDを配置し、それをターゲットにすることです。

0

JavaScriptは、このようにHTMLページ要素のグローバル参照を作成しません。現代のブラウザでは、特定の識別子を持つ要素があれば、そのグローバルオブジェクトのIDから直接取得できます。

例えば

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

JS

alert(this['my-id']) 

どこthiswindow、あなたがstrictモードでいないのであれば、あなたはグローバルスコープにしています。

実は、あなたはクロスブラウザform要素を取得するための同等の方法を、必要な場合

document.getElementsByTagName('form')[0] 

すべてのDOM要素は、メソッドgetElementsByTagNamegetElementsByClassNameのように、(これらは、HTMLCollectionを返し持つ配列のように見えますが、 ...

documentは、特定の識別子を持つ最初の要素を返すgetElementByIdメソッドを含む1つのオブジェクトです。

また、フォーム要素を取得する場合は、引用した方法を使用するか、特定の子の'name'属性を使用してフォーム参照にインデックスを付けるだけです。それはHTMLElement().getElementsByTagNameを使用するには、クロスブラウザ、など


のみ入力要素がvalue性質を持っています。代わりにinnerHTMLまたはinnerTextを変更することができます(ゲッター/セッターです)。あなたのHTMLフォームへ

0

設定されているID名

​​

そして、あなたの関数でこれを使用して値を代入

document.getElementById("myForm").elements[0].value = 'hello'; 

さもないと、あなたの入力と

を使用して割り当てるには、ID /クラスを追加
document.getElementById('id'); // Using Id 
document.getElementsByClassName('class')[0]; // Using class 

これは動作します

デモ:https://jsbin.com/molagu/2/edit?html,js,output

関連する問題