個人事業主の方必見!確定申告のお悩み解決

tomcat5.0+mysql5.1+jsp+html

まったく同じフォーム内容を2つのページに送信しようとしています。
center.jsp内にあるひとつのsubmitボタンを押して、同時に2つのページでデータを受け取りたいのです。
どなたかわかるかたいらっしゃいますでしょうか?

center.jsp → rightA.jsp
      → leftB.jsp

フレーム分割しているので、イメージ的には下記のような感じです。
action='rightA.jsp' method='post' target='rightA'
action='leftB.jsp' method='post' target='leftB'


※javascriptで可能だと知り合いから聞いたのでいろいろ調べてみましたが…
 いまいちjavascriptが理解できないでいます。

<script language="JavaScript">
<!--

function sendForm() {

formElem.method = "post";
formElem.action = "rightA.jsp";
formElem.target = "rightA";
              
formElem.action = "leftB.jsp";
formElem.target = "leftB";

 ~

}
// -->
</script>

<form name='form' action='' onsubmit='retrun sendForm()'> ~
          

A 回答 (2件)

まず前提として、1つのページから2以上のページに飛ぶことは


一意性が失われるため、お勧めできません。
特にtargetを指定してページを開くことは非推奨のはずです。
それでもどうしてもというのであれば以下のように・・・

formElem.action = "rightA.jsp";
formElem.target = "rightA";
formElem.submit();          
formElem.action = "leftB.jsp";
formElem.target = "leftB";
formElem.submit();          
return false;

と、actionとtargetを指定した後にsubmitしてやり、最後にfalseを
返してやるとよいでしょう。(onsubmitにfalseが返るため)
    • good
    • 0
この回答へのお礼

yambejp様、ありがとうございます。
auty様のアドバイスとあわせて、下記で動かすことができました。

<script language="JavaScript">
<!--
function sendForm() {
var formElem = document.forms["form"];
formElem.action = "rightA.jsp";
formElem.target = "rightA";
formElem.method = "post";
formElem.submit();
formElem.action = "leftB.jsp";
formElem.target = "leftB";
formElem.method = "post";
formElem.submit();
return false;
}
// -->
</script>

form部分
form name='form' onsubmit='return sendForm()'

推奨されてないやり方のようですが、
動かすことができてホッとしています。
それぞれデータベースに接続して、任意のデータの取り出しに成功です。
javascript以外で別のやり方があるのでしょうかね?
いろいろ調べて勉強したいと思います。
どうもありがとうございました。

お礼日時:2008/05/04 10:17

・ もしかしたら解決済みかもしれませんが、formElemのつながりがはっきりしていないかも知れません。

もしそうならformElemを次のように定義する必要があります。

name='form'という名前が付いているので、関数sendForm() の先頭に、例えば次の1行を追加します。

function sendForm() {

var formElem = document.forms["form"];

formElem.method = "post";
    • good
    • 0
この回答へのお礼

auty様、ありがとうございます。
yambejp様のアドバイスとあわせて、動かすことができました。
今までjavascriptは重要視していなかったのですが、
やはりいろいろな面で使うことがありそうです。
がんばって勉強していきたいと思います。
どうもありがとうございました。

お礼日時:2008/05/04 10:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q1つのformで複数のactionを実行できますか?

フォーム内に商品の購入ボタンがあります。同じフォーム内に商品名でグーグルのサイト内を検索させるボタンを設置し、横に並べることは可能ですか?
フォームの入れ子はよくないようなので、検索をJava scriptでできればよいのですが・・・
スタイルシートではデザイン上無理でした。

<form id="fm" name="fm" action="URL" method="POST">
<input type="hidden" name="shouhinmei" value="商品名">
<input type="hidden" name="kakaku" value="500">
<input type="image" src="kounyuu.gif value="購入">

<form method=get action="http://www.google.co.jp/search">
<input type=hidden class="q" name=q value="商品名"><input type=hidden name=ie value=UTF-8><input type=hidden name=oe value=UTF-8><input type=hidden name=hl value="ja"><input name=btnG type="image" src="検索.gif value="検索"><input type=hidden name=sitesearch value="サイトのURL"></form>
</form>
</form>

+----+  +----+
|購入|  |検索|
+----+  +----+

フォーム内に商品の購入ボタンがあります。同じフォーム内に商品名でグーグルのサイト内を検索させるボタンを設置し、横に並べることは可能ですか?
フォームの入れ子はよくないようなので、検索をJava scriptでできればよいのですが・・・
スタイルシートではデザイン上無理でした。

<form id="fm" name="fm" action="URL" method="POST">
<input type="hidden" name="shouhinmei" value="商品名">
<input type="hidden" name="kakaku" value="500">
<input type="image" src="kounyuu.gif value="購入">...続きを読む

Aベストアンサー

では、以下のような感じで。
なるべく多くのブラウザで動くように書いたつもりですが検証は充分行ってください。

<html>
<head>
<title></title>
<script type="text/javascript">
<!--
function searchGoogle(q) {
document.forms['searchForm'].elements['q'].value=q;
document.forms['searchForm'].submit();
return false;
}
//-->
</script>

</head>
<body>

<form action="URL">
~~
<input type="image" src="kounyuu.gif value="購入">
<a href="http://www.google.co.jp/" onclick="return searchGoogle('商品名')"><img src="検索.gif" border=0></a>
</form>

<form action="http://www.google.co.jp/search" id="searchForm" style="display:none;">
<input type=hidden name="q">
<input type=hidden name=ie value="UTF-8">
<input type=hidden name=oe value="UTF-8">
<input type=hidden name=hl value="ja">
<input type=hidden name=sitesearch value="サイトのURL">
</form>

</body>
</html>

では、以下のような感じで。
なるべく多くのブラウザで動くように書いたつもりですが検証は充分行ってください。

<html>
<head>
<title></title>
<script type="text/javascript">
<!--
function searchGoogle(q) {
document.forms['searchForm'].elements['q'].value=q;
document.forms['searchForm'].submit();
return false;
}
//-->
</script>

</head>
<body>

<form action="URL">
~~
<input type="image" src="kounyuu.gif value="購入">
<a href="http://www.google.co.jp/" onc...続きを読む

Q複数のフォームを一括で送信することは可能ですか?

それらしきキーワードで検索しても出てこないので
頓珍漢な質問をしてるかもしれませんが、ご容赦ください。
送信ボタンは同一フォーム内のデータを送信できると思うのですが
複数のフォームを1つの送信ボタンで送信することは可能でしょうか?
例えば、下の2つのフォームを1つの送信ボタンでデータ送信することは可能でしょうか?2つのフォームを1つに合わせるというのは
なしでお願いいたします。


<form name="nform" method="POST" action="mailto:webmaster@a.com?subject=問い合せ" enctype="text/plain">
<p>お名前 :<input type="text" name="name" size="40"></p>
<p>
メッセージ:
<br>
<textarea cols="50" rows="5" name="message"></textarea>
</p>
<p><input type="submit" value="送信する"></p>
</form>
<form name="nform2" method="POST" action="mailto:webmaster@leposystems.com?subject=問い合せ" enctype="text/plain">
<p>お名前 :<input type="text" name="name" size="40"></p>
<p>
メッセージ:
<br>
<textarea cols="50" rows="5" name="message"></textarea>
</p>
<p><input type="submit" value="送信する"></p>
</form>

それらしきキーワードで検索しても出てこないので
頓珍漢な質問をしてるかもしれませんが、ご容赦ください。
送信ボタンは同一フォーム内のデータを送信できると思うのですが
複数のフォームを1つの送信ボタンで送信することは可能でしょうか?
例えば、下の2つのフォームを1つの送信ボタンでデータ送信することは可能でしょうか?2つのフォームを1つに合わせるというのは
なしでお願いいたします。


<form name="nform" method="POST" action="mailto:webmaster@a.com?subject=問い合せ" enctype="...続きを読む

Aベストアンサー

こんにちは

javascriptを使えばできるとは思いますがoffにしている状態では使えませんし、mailtoに対して試したことは無いのでどうなのかな?

<script language="javascript"><!--
function send() {
document.nform.submit();
document.nform2.submit();
}
//--></script>

<form name="nform" method="POST" action="mailto:webmaster@a.com?subject=問い合せ" enctype="text/plain">
<p>お名前 :<input type="text" name="name" size="40"></p>
<p>
メッセージ:
<br>
<textarea cols="50" rows="5" name="message"></textarea>
</p>
</form>

<form name="nform2" method="POST" action="mailto:webmaster@leposystems.com?subject=問い合せ" enctype="text/plain">
<p>お名前 :<input type="text" name="name" size="40"></p>
<p>
メッセージ:
<br>
<textarea cols="50" rows="5" name="message"></textarea>
</p>
</form>


<input type="button" value="送信" onClick="send()">

こんにちは

javascriptを使えばできるとは思いますがoffにしている状態では使えませんし、mailtoに対して試したことは無いのでどうなのかな?

<script language="javascript"><!--
function send() {
document.nform.submit();
document.nform2.submit();
}
//--></script>

<form name="nform" method="POST" action="mailto:webmaster@a.com?subject=問い合せ" enctype="text/plain">
<p>お名前 :<input type="text" name="name" size="40"></p>
<p>
メッセージ:
<br>
<textarea cols=...続きを読む

Q同一ページの複数フォームを一括送信したい

会社にてあるイベントの申込みページを作成している、ほぼ初心者です。
ショッピングカートへとフォームから飛ばしたいのですが、プログラムがよくわからず行き詰っています。
以前の回答にもあったhttp://oshiete.goo.ne.jp/qa/3418439.htmlを真似て作ってみましたが、
最初のものだけをピックアップして実行されてしまいます
また、本来はチェックボックスにチェックが入っているもののみを送信したいんです

</style>
<script language="javascript"><!--
function send() {
document.a11.submit();
document.b11.submit();




}
//--></script>

これをヘッダー内に書き込み
<form name="a11" action="/products/detail.php" method="post" target="_blank">
<input type="hidden" name="mode" value="cart" />
<input type="hidden" name="product_id" value="137" />
<input type="hidden" name="product_class_id" value="634" />
<input type="checkbox" name="quantity" value="1" /><br />
</form>

<form name="b11" action="/products/detail.php" method="post" target="_blank">
<input type="hidden" name="mode" value="cart" />
<input type="hidden" name="product_id" value="140" />
<input type="hidden" name="product_class_id" value="637" />
<input type="checkbox" name="quantity" value="1" /><br />
</form>







というフォームが数十個あります。
数十個あるうちのチェックボックスにチェックが入っているもののみを
送信したいのですが、プログラムの組み方をご教授願えませんでしょうか?

順番としては

(1)チェックボックスにチェックが入っているものを認識
(2)チェックボックスにチェックが入っているものを順に送信

という感じなのかなと考えていろいろ調べてみたのですが、
わからない状態です

ほぼ初心者なので、お手数ですが、サンプル記述などもいただけると
大変たすかります

どうぞよろしくお願いいたします

会社にてあるイベントの申込みページを作成している、ほぼ初心者です。
ショッピングカートへとフォームから飛ばしたいのですが、プログラムがよくわからず行き詰っています。
以前の回答にもあったhttp://oshiete.goo.ne.jp/qa/3418439.htmlを真似て作ってみましたが、
最初のものだけをピックアップして実行されてしまいます
また、本来はチェックボックスにチェックが入っているもののみを送信したいんです

</style>
<script language="javascript"><!--
function send() {
document.a11.submit();
document.b...続きを読む

Aベストアンサー

>どうやってnameの中に書かれているものを読み取らせるのかすらわかっていないんです。。。
 それは、フォームを別々に分けたって同じ事です。

このあたりになるとPHPよりPerlを使ったCGIのほうが資料も多いでしょう。

 フォームのデータは、[name]=[value]のペアで送られてきます、通常はハッシュ(連想配列)に入れますが、そうすると同名のものがあれば上書きされてしまいます。
 そのため、ハッシュのハッシュなど二次元三次元のデータを作らなければなりません。
 このあたりは、Perlのマニュアル(らくだ本)をお読みください。
 ⇒O'Reilly Japan - プログラミングPerl 第3版 VOLUME 1( http://www.oreilly.co.jp/books/4873110963/ )
 ⇒O'Reilly Japan - プログラミングPerl 第3版 VOLUME 2( http://www.oreilly.co.jp/books/4873110971/ )
 ⇒O'Reilly Japan - Perl クイックリファレンス( http://www.oreilly.co.jp/books/4900900729/ )

>どうやってnameの中に書かれているものを読み取らせるのかすらわかっていないんです。。。
 それは、フォームを別々に分けたって同じ事です。

このあたりになるとPHPよりPerlを使ったCGIのほうが資料も多いでしょう。

 フォームのデータは、[name]=[value]のペアで送られてきます、通常はハッシュ(連想配列)に入れますが、そうすると同名のものがあれば上書きされてしまいます。
 そのため、ハッシュのハッシュなど二次元三次元のデータを作らなければなりません。
 このあたりは、Perlのマニュアル(らく...続きを読む

QonClickで関数呼出し後に、結果に応じてsubmitを実行する方法

JavaScriptで、
function func() {
 if (a==0) {
  alert("処理しない");
  return false;
 }
 return true;
}
と、a=0ならfalseを返し、それ以外ならtrueを返す関数を定義しています。

そして、FORMタグで
<FORM NAME="FormName" ACTION="next.html">
<INPUT TYPE="button" VALUE="next" NAME="button1" onClick="return func();submit();">
</FORM>
と記述しています。
要は、ボタンを押下した際にfunc関数がtrueを返せば、next.htmlに
遷移させたいのですが、上記記述では、遷移しません・・・
onClick部分にonClick="return func(),submit();"と記述した場合、
func関数の実行結果がtrueでもfalseでも遷移してしまいます。
そこで、なんとなくonClick="return func()&&submit();"と記述してみたところ、
func関数がtrueの時のみうまく遷移するようになりました。

これは偶然そう動作しているのでしょうか、それとも上記は正しい記述方法なのでしょうか?
正しい記述方法ならいいのですが、上記以外に正式な記述方法があれば
教えていただけないでしょうか?

※TYPE="submit"にすればいいとは思うのですが、buttonで実現したいと
考えております。

JavaScriptで、
function func() {
 if (a==0) {
  alert("処理しない");
  return false;
 }
 return true;
}
と、a=0ならfalseを返し、それ以外ならtrueを返す関数を定義しています。

そして、FORMタグで
<FORM NAME="FormName" ACTION="next.html">
<INPUT TYPE="button" VALUE="next" NAME="button1" onClick="return func();submit();">
</FORM>
と記述しています。
要は、ボタンを押下した際にfunc関数がtrueを返せば、next.htmlに
遷移させたいのですが、上記記述では、遷移しませ...続きを読む

Aベストアンサー

3つのパターンをみる限り、理由は以下の通りと思います。
1.セミコロン(;)で区切った場合、
この場合、「return func();」と「submit();」とは別の文です。returnはその時点の値を戻して、それ以降の動作を打ち切ってしまいます。よって、onClickイベントはfuncメソッドの戻り値(true/false関係なく)を戻して、そこで終了、それ以降のsubmitは実行しないとなります。

2.カンマ(,)で区切った場合、
この場合、「return func(),submit();」が1つの文となります。この「,」は、左右の式を評価して、右式を結果とする演算子です。よって、funcメソッド、submitメソッド両方を評価するため、funcメソッドの戻り値に関係なく、submitされます。

3.&&で区切った場合、
論理演算子「&&」は、左右ともにtrue(0以外)の場合のみtrueとする演算子です。また、2項論理演算子は左式から評価し、左式だけで全体の結果がわかる場合、右式を評価しません。よって、funcメソッドがfalseを戻した場合、その時点でsubmitを評価しなくても演算結果は必ずfalseとなるのでそこで打ち切られ、trueを戻した場合、submitを評価しないと演算結果を得られないため、遷移したわけです。「&&」を「||(論理和)」に変更すると逆の結果得たと思います。

さて、では3の「&&」が正しいかと言われたら、文法上は正しいです。ただし、他人がみてわかるとは思えません。
そこで、以下の記述はいかがでしょう。読んでみてソースを理解できますか。


<FORM NAME="FormName" ACTION="next.html">
<INPUT TYPE="button" VALUE="next" NAME="button1" onClick="func()">
</FORM>

(中略)

// funcの定義
function func() {
 if (a==0) {
  alert("処理しない");
  return ;
 }
 document.FormName.submit();
}

要は、ボタンを押されたら、funcを呼び出せ。
funcでは、aが0ならば、そこで終了しろ。
そうでなければ、documentオブジェクト内のFormNameと言う名前のオブジェクトのsubmitメソッドを呼べ。
です。

3つのパターンをみる限り、理由は以下の通りと思います。
1.セミコロン(;)で区切った場合、
この場合、「return func();」と「submit();」とは別の文です。returnはその時点の値を戻して、それ以降の動作を打ち切ってしまいます。よって、onClickイベントはfuncメソッドの戻り値(true/false関係なく)を戻して、そこで終了、それ以降のsubmitは実行しないとなります。

2.カンマ(,)で区切った場合、
この場合、「return func(),submit();」が1つの文となります。この「,」は、左右の式を評価して、右...続きを読む

QonClickに複数の関数を挿入する方法

初心者なのですがアニメーションの関数anime1、anime2、anime3を作成し、onClickに下記のように設定しました。
クリックするとアニメーション2つの設定ではは動くのですが、3つ目を設定すると動かなくなります。
通常はこのような設定はしないものなのでしょうか?
教えてください。
よろしくお願いします。
<INPUT type="button" value="START" onClick="anime1(), anime2()">・・・OKです。
<INPUT type="button" value="START" onClick="anime1(), anime2(),anime3()">・・・動きません。

Aベストアンサー

セミコロンでつなぐのが常道ですが、3つ以上なら
別途function化したほうが、可読性が高くなると
思います。

Qonclickで2個指定するには?

例えば、下記のような二つの指定があるします。

function checkd1(){
document.FORM.CHECK1.checked=true
}
function checkd2(){
document.write("テスト");
}

これをonclickで二つとも指定するということはできるのでしょうか?

<a href="#" onclick="checkd1()">ボタン</a>
<a href="#" onclick="checkd2()">ボタン2</a>

を<a href="#" onclick="checkd1(),checkd2()">ボタン</a>としても動いてくれないので、書き直すのではなく、このまま二つを指定したいのですが、どうすればよいのでしょうか?

Aベストアンサー

><a href="#" onclick="checkd1(),checkd2()">ボタン</a>

<a href="#" onclick="checkd1();checkd2()">ボタン</a>

おしいですね。
, ではなく ; なら両方の関数が呼ばれると思います。
(Firefox3とIE6で確認しました。)

なぜ ; かと言うと、
Javascriptの文法で、文の区切りは ; だからですね。

Qページ読み込み時に自動的にsubmitさせる方法

過去のPHPでの質問
http://www.okweb.ne.jp/kotaeru.php3?q=483327
の中で出てきた

>hiddenでデータ定義しておいて
>Javascriptでページ読み込み時に自動的にsubmitさせたらいいかも。

POSTでデータを送るためにこれを実現したいと思っているのですが自動的にsubmitさせる方法がわかりません。

ご存知の方がおられましたらアドバイス宜しくお願いします。

Aベストアンサー

<BODY onLoad="document.F.submit();">
とやれば、このファイルがロードされた時に、
このファイル内の
<FORM NAME=F>~</FORM>
と定義されたFORMの内容がsubmitされると思いますが・・・。

Qリンクをクリックした時にformからPOST送信したい。

HTML、PHP、JavaScript等でサイトを作っているのですが・・・。

【実現出来ている例】
<form name="form1" method="post" action="Next.php" onSubmit="return InputCheck()">
 <input type="submit" value="送信">
</form>
 submitボタンを一つ置いて、それがクリックされた場合に
formの内容をPOSTで送信する。

【実現したい例】
<form name="form1 method="post">
 <a href="Next.php" onClick="???">???</a>
</form>
 formの中のリンクをクリックされた場合に、formの内容を
POSTで送信したいのですが、その実現方法がわかりません。
GETで送るという手もあり得ますが、今回はどうしてもPOST
したいのですが。

Aベストアンサー

<form name="form1" method="post" action="Next.php">
<a href="#" onClick="document.form1.submit();">???</a>
</form>

onclick内の対象がform1としてあてているので、
アンカータグは別にform内に記述しなくても大丈夫です

form内にhidden等でnameとvalueを持ったパラメータがあればそれも送られます

アンカータグから動的にvalueを変更したい場合は、
document.form1.hogename.value = 'hoge';
等をsubmit()の前に行えば可能です

ただしform内に
<input type="hidden" name="hogename" value="">
を記述する等、変更先パラメータの元を用意する必要がありますのでご注意下さい

Qjavascriptでセレクトボックスの"selected"を動的につ

javascriptでセレクトボックスの"selected"を動的につける方法について質問させてください。

現在、以下のようなフォームを作成しました。

<select name='year'>
<option value='2010'>2010</option>
<option value='2011'>2011</option>
</select>年

<select name='month'>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
<option value='7'>7</option>
<option value='8'>8</option>
<option value='9'>9</option>
<option value='10'>10</option>
<option value='11'>11</option>
<option value='12'>12</option>
</select>月

<select name='day'>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
<option value='7'>7</option>
<option value='8'>8</option>
<option value='9'>9</option>
<option value='10'>10</option>
<option value='11'>11</option>
<option value='12'>12</option>
<option value='13'>13</option>
<option value='14'>14</option>
<option value='15'>15</option>
<option value='16'>16</option>
<option value='17'>17</option>
<option value='18'>18</option>
<option value='19'>19</option>
<option value='20'>20</option>
<option value='21'>21</option>
<option value='22'>22</option>
<option value='23'>23</option>
<option value='24'>24</option>
<option value='25'>25</option>
<option value='26'>26</option>
<option value='27'>27</option>
<option value='28'>28</option>
<option value='29'>29</option>
<option value='30'>30</option>
<option value='31'>31</option>
</select>日


このセレクトボックスに、例えば今日の日付"2010年9月30日"だったら、それぞれの年、月、日の<option>に"selected"をつけたいのですが、javascriptではどのようにして実現したら良いのでしょうか?

よろしくお願いします。

javascriptでセレクトボックスの"selected"を動的につける方法について質問させてください。

現在、以下のようなフォームを作成しました。

<select name='year'>
<option value='2010'>2010</option>
<option value='2011'>2011</option>
</select>年

<select name='month'>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
<option value='7'>7</option>
<option value='8...続きを読む

Aベストアンサー

こんな感じで・・・

<script>
window.onload=function(){
var f=document.getElementById("f0");
var ymd=new Date();
checkSelect(f.elements["year"],ymd.getFullYear());
checkSelect(f.elements["month"],ymd.getMonth() +1);
checkSelect(f.elements["day"],ymd.getDate());
}
function checkSelect(obj,val){
for(var i=0;i<obj.length;i++){
if(obj[i].value==val){
obj[i].selected=true;
break;
}
}
}
</script>
<form id="f0">
<div>
<select name='year'>
<option value='2009'>2009</option>
<option value='2010'>2010</option>
<option value='2011'>2011</option>
</select>年

<select name='month'>
<option value='8'>8</option>
<option value='9'>9</option>
<option value='10'>10</option>
</select>月

<select name='day'>
<option value='29'>29</option>
<option value='30'>30</option>
<option value='31'>31</option>
</select>日
</div>
</form>

こんな感じで・・・

<script>
window.onload=function(){
var f=document.getElementById("f0");
var ymd=new Date();
checkSelect(f.elements["year"],ymd.getFullYear());
checkSelect(f.elements["month"],ymd.getMonth() +1);
checkSelect(f.elements["day"],ymd.getDate());
}
function checkSelect(obj,val){
for(var i=0;i<obj.length;i++){
if(obj[i].value==val){
obj[i].selected=true;
break;
}
}
}
</script>
<form id="f0">
<div>
<select name='year'>
<opt...続きを読む

QボタンをクリックでPHP文を実行

ボタンをクリックしたときのみPHP文を実行したいのですが・・・

<input type="button" onClink="<?php~?>">
でいけるかと思ったのですが、
ページ表示時に<?php~?>が実行されてしまい、うまくいきませんでした。

onClink="window.open(test.php)"
という方法以外でお願いします。

Aベストアンサー

AjaxはもともとJavaScriptの機能である非同期通信をつかったもので。Ajaxという言語があるわけではありません

Ajaxを利用するのであれば、JavaScriptのXMLHttpRequestを使って非同期通信できるような実装をしなくてはなりません
簡単にサンプルコードで書けるほど単純なものでもありません

一般的なサーバーサイドスクリプトの動作として、
ボタンを押す->サーバーへリクエストする->サーバーが処理する->クライアントに何かしらの結果を返す(出力する)です
つまり、PHP等のサーバーサイドスクリプトは、遷移させることが大前提で動作します

ですから、ボタンを押してその場でJavaScriptと同じようにPHPが動くなんてことはありえません。
ボタンを押したらサーバーにリクエストする という動作ならば可能です。

つまり
質問で言われているような
onClink="window.open(test.php)"

<form name="f1" action="test.php" method="post">
<input type="submit" name="submit" value="submit" />
</form>
等のような形になります

こういった一般的な方法だと いちいち画面が切り替わったようになってしまうのを嫌って Ajaxでコレと同じことを、画面を切り替えずに行っているだけに過ぎません

AjaxはもともとJavaScriptの機能である非同期通信をつかったもので。Ajaxという言語があるわけではありません

Ajaxを利用するのであれば、JavaScriptのXMLHttpRequestを使って非同期通信できるような実装をしなくてはなりません
簡単にサンプルコードで書けるほど単純なものでもありません

一般的なサーバーサイドスクリプトの動作として、
ボタンを押す->サーバーへリクエストする->サーバーが処理する->クライアントに何かしらの結果を返す(出力する)です
つまり、PHP等のサーバーサイドスクリプトは、...続きを読む


人気Q&Aランキング