• ベストアンサー

Javascript post 自動送信

恐れいります。 Javascriptで、開いた際に任意のデータを送信する方法がわかりません。 <script type="text/javascript" src=".xxx.js"></script>としてperl内HTML上にjsを読み込み、既にperlで取得した$hensu1、$hensu2を、xxx.jsからyyy.cgiに送信したいのですが、うまくいきません。 御教授頂けたらと思います。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

話の内容がイマイチわかりませんが「perl内HTML」内に「JavaScrip」も書いて、その「$hensu1、$hensu2」変数を定数として記述し、その「JavaScrip」内の変数に代入すればどうでしょう。 「perl内HTML」内に <<"HTML_DOC" いろはにほへと<br> ちりぬるを<br> <script type="text/javascript"> <!-- hensu1=\"$hensu1\"; // 「$hensu1」が文字列の場合の処理 hensu2=$hensu2+0; // 「hensu2」が数値の場合の処理、「hensu2」がブランクの場合に「+0」でゼロにする // --> </script> わかよたれそ<br> つねならむ<br> HTML_DOC 両方とも文字列なら hensu1=\"$hensu1\"; hensu2=\"$hensu2\"; 両方とも数値なら、「+0」は必ず式の最後に記述して下さい。 hensu1=$hensu1+0; hensu2=$hensu2+0;

spider32
質問者

お礼

恐れ入ります。 外部読み込みにjsファイル上に、 hensu1=\"$hensu1\"; hensu2=\"$hensu2\"; を記入して苦闘していました。 perl上に <script language="javascript"> <\!-- hensu1=\"$hensu1\"; hensu2=\"$hensu2\"; //--> </script> <script src="./gaibu.js"></script> としたら、無事読み込んだ外部ファイルへの受け渡しができました。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.2

>回答No.1 amanojaku1 >「$hensu1、$hensu2」変数を定数として記述し 下記の「$hensu1、$hensu2」の結果は定数として出力されます。 ><<"HTML_DOC" >いろはにほへと<br> >ちりぬるを<br> ><script type="text/javascript"> ><!-- >hensu1=\"$hensu1\"; // 「$hensu1」が文字列の場合の処理 >hensu2=$hensu2+0; // 「hensu2」が数値の場合の処理、「hensu2」がブランクの場合に「+0」でゼロにする >// --> ></script> >わかよたれそ<br> >つねならむ<br> >HTML_DOC

spider32
質問者

お礼

$().ready ( function() { $('#id-form input.buy_name_no').keyup ( function() { var $obj = $(this).parent().parent(); var buy_name_no = $(this).val(); $obj.find('span.msg').html ( '' ); if ( buy_name_no.length === 6 ) { $.post ( 'name.cgi', { cd: buy_name_no }, function ( json ) { $obj.find('input.buy_name').val ( json.name ); } ); } }); }); 以上がjsファイルの中身ですが、 cdはHTMLからのinputで送信されます。 それ以外のデータを送信したいのです。 cd以外のデータは、perlでPOSTを受けて取得したものです。 $hensu1 $hensu2 として、送信したいと思っています。 変数は文字列で、 hensu1 = \"$hensu1\"; hensu2 = \"$hensu2\"; を記述するとエラーが出てしまいました。 以上よろしくお願いします。

spider32
質問者

補足

$().ready ( function() { $('#id-form input.buy_name_no').keyup ( function() { var $obj = $(this).parent().parent(); var buy_name_no = $(this).val(); $obj.find('span.msg').html ( '' ); if ( buy_name_no.length === 6 ) { $.post ( 'name.cgi', { cd: buy_name_no }, function ( json ) { $obj.find('input.buy_name').val ( json.name ); } ); } }); }); 以上がjsファイルの中身ですが、 cdはHTMLからのinputで送信されます。 それ以外のデータを送信したいのです。 cd以外のデータは、perlでPOSTを受けて取得したものです。 $hensu1 $hensu2 として、送信したいと思っています。 変数は文字列で、 hensu1 = \"$hensu1\"; hensu2 = \"$hensu2\"; を記述するとエラーが出てしまいました。 以上よろしくお願いします

すると、全ての回答が全文表示されます。

関連するQ&A