- 締切済み
javascriptのフォームデータをCGIで複数行取得
javascript内の変数を複数行のフォームでCGIに渡したいのです。 その際のコードが document.write("<form name='form1' action='xxx.cgi' method='post' enctype='text/plain'>"+ "<input type='hidden' name='state' value=''>"+ "<input type='hidden' name='state2' value=''>"+ "</form>"+ "<input type='button value='送信' onClick='tocgi(a,b)'>"); tocgi(n1,n2){ document.form1.state.value=n1; document.form1.state2.value=n2; document.form1.submit(); } なのですが、a、bの値がそれぞれ10、20だった時、一行目のフォームデータは出力されるのですが、2行目が出力されないのです。実行結果でいうとstate=10ですね。引数を一つにしても同じでした。何がいけないのか、全然わかりません…。それとも、CGIのコードの書き方に問題があるのでしょうか。でも、CGIの方は変えずに単純にHTMLで記述すると上手くいくみたいなんですよね。どなたかわかる方がいたら助けて下さい!
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- auty
- ベストアンサー率58% (284/486)
・ 間違いが幾つかありましたので、 以下のコードを参考にしてみてください。 ------------------------------------------------------------ <html> <head> <script type="text/javascript"> var a=10; var b=20; document.write("<form name='form1' action='p_query.jsp' method='post'>"+ "<input type='hidden' name='state' value=''>"+ "<input type='hidden' name='state2' value=''>"+ "<input type='button' value='送信' onClick='tocgi(a,b);return false;'></form>"); function tocgi(n1,n2){ document.form1.state.value=n1; document.form1.state2.value=n2; document.form1.submit(); } </script> </head> <body> <h1>TEST</h1> </body> </html>