2011-08-12 20 views
0

javascript(xsltスタイルシートから生成)を使用してフォームを送信しようとしています。javascript xsltが正しくデータを投稿しない

<form name='myform' action='search.php' method='post'> 
    <input type='hidden' name='query' /> 
    <script type='text/javascript'> 
    function submit(id) 
    { 
     document.myform.elements[0] = id; *Note* I have tried document.getElementById('query').value = id; 
     document.myform.submit(); 
    } 
    </script> 
</form> 

このコードの後、私はxslの翻訳でxmlデータをフォーマットしています。私はHREFをクリックするとこのHREFは=「」(somequery ')

を何も が提出していないんのJavaScript関数が実行され、正常に動作するようです :私はこのような送信関数を呼び出しますNOデータはPOSTされます。私は 'somequery'に値を設定しますが、フォームがPOSTされると値は ''(空白)になります。

は、なぜそれがこれを行うのですか?私はcreateElement( '入力')とそのようなjavascriptの中から試してみましたが、POSTの入力値にフォームを取得することはできません。

+0

をしようとすると? –

+0

あなたはdocument.myform.elements [0] .valueを意味しましたか? – Mohsen

答えて

1

ここでFirefoxを使用していますか?ブラウザによって動作が異なる場合があります。まず、あなたはgetElementByIdを

document.getElementById('query').value = id; 

働いていない可能性があり、これは、あなたの隠された要素は、実際にID属性を指定していないということである理由を使用するように戻って行く必要があります。 IEで

<input type='hidden' name='query' id='query' /> 

、私はそれがIDの欠如を可能にし、それが名前に等しいと仮定し信じています。 Firefoxの、JavaScriptのエラーでID結果の欠如であなたがgetElementByIdをからこの関数と呼ばれている

<form name='myform' action='search.php' method='post'> 
<input type='hidden' name='query' id='query' /> 
<script type='text/javascript'> 
function submit(id) 
{ 
    document.getElementById('query').value = id; 
    document.myform.submit(); 
} 
</script> 
</form> 
関連する問題