
onChange に関して
わかりにくい内容で申し訳ありません。
PHPで作成されているプログラムの中に、Javascriptを組み込みたいと考えています。
処理の動きとしては、あるプルダウンが選択された場合、すぐさまその値をもとにしてDBへ
検索しに行くというものです。
通常、PHPだけの処理の場合、POST等を用いて、ボタンが押されたら違うphpファイルへ値を
送る事が可能かと思われます。
その処理をJavascript で選択されたらすぐに検索、表示というような動きをしたいと考えて
います。
同じソースの中でなら、例えば選択された値を別のテキストに表示するというような事はした
事はありますが、そもそもJavascript でPUT 処理のような事は可能なのでしょうか???
初歩的な質問で申し訳ありませんが、教えて下さい。
よろしくお願いします。
No.7ベストアンサー
- 回答日時:
XMLHttpRequest(Ajax) の解説を下記URLにまとめました。
XMLHttpRequest()
http://vird2002.s8.xrea.com/test/XMLHttpRequest. …
yurix_1さんは継続質問されているようなので、リンクを貼っておきます。
ajax でのデータ受け渡しに関して | OKWave
http://okwave.jp/qa/q6058023.html
# fujillinさん のおかげで気が付きました。感謝!
No.6
- 回答日時:
#2, 5 です。
#5 を一部訂正します。
訂正前: ・new DOMParser() で [object Document] を生成する。(Firefox独自拡張)
訂正後: ・new DOMParser() で [object Document] を生成可能なパーサを返す。(Firefox独自拡張)
No.5
- 回答日時:
#2 です。
XMLHttpRequest() でHTML文書を得る場合は、responseText で文字列リテラルを受け取ってください。
XMLHttpRequest
http://www.w3.org/TR/XMLHttpRequest/#the-respons …
XMLHttpRequest - MDC
https://developer.mozilla.org/ja/XMLHttpRequest
文字列リテラルをDOMノードに変換する方法は、いくつかあります。
・HTMLDocument.innerHTML でノードを流し込む。(HTML5標準)
・document.implementation.createHTMLDocument() で [object HTMLDocument] を生成する。(HTML5標準)
・document.implementation.createDocument() で [object Document] を生成する。(DOM L3 Core標準)
・document.implementation.createLSParser() で [object Document] を生成する。(DOM L3 Load and Save標準)
・new DOMParser() で [object Document] を生成する。(Firefox独自拡張)
・new ActiveXObject("htmlfile") で [object HTMLDocument] を生成する。(IE専用)
※ Firefox, Opera は [object Document] を [object XMLDocument] に置き換えてください。
下記URLにサンプルをまとめました。
createHTMLDocument(), createDocument()
http://vird2002.s8.xrea.com/test/document.implem …
new DOMParser(), new ActiveXObject("htmlfile") はシンプルで不具合がなく、使いやすい印象を持ちました。
しかし、HTML文書を [object Document] (XML文書のオブジェクト) として出力するのは好ましくないので、createHTMLDocument() と組み合わせる必要はあると思います。
createLSParser() はまだ使いこなせていません。
唯一対応しているはずの Opera v10.60 で動作しないのはコードの書き方に問題があるだけかも…。
No.3
- 回答日時:
ajaxで処理するならこんな感じ
<script>
function createXMLHttpRequest(){
if( window.XMLHttpRequest ){
return new XMLHttpRequest();
}else if( window.ActiveXObject ){
try{
return new ActiveXObject( "Msxml2.XMLHTTP" );
}catch(e){
return new ActiveXObject( "Microsoft.XMLHTTP" );
}
}
return null;
}
function getDataPost( serverURL, objID ,obj){
var ajax = createXMLHttpRequest();
ajax.open( "POST", serverURL );
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.onreadystatechange=function(){
if(( ajax.readyState == 4 ) && ( ajax.status == 200 )){
if(objID!=""){
var obj = document.getElementById( objID );
obj.innerHTML = ajax.responseText;
}
}
}
ajax.send( obj.name+"="+obj.value );
}
</script>
<select name="fuga" onchange="getDataPost('hogehoge.php','hoge',this)">
<option value="">---</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
<div id="hoge"></div>
この回答への補足
回答ありがとうございます。
返事が遅くなり申し訳ありません。
1点、受け取り側の表示はどのように記述すればよいか?を教えて
頂ければ幸いです。
何から何まで質問する形で大変申し訳ありませんが、教えて下さい。
No.2
- 回答日時:
> そもそもJavascript でPUT 処理のような事は可能なのでしょうか?
「POSTメソッド」「PUTメソッド」のどちらを希望しているのでしょう?
とりあえず、XMLHttpRequest() で実装可能です。
XMLHttpRequest の利用 - MDC
https://developer.mozilla.org/ja/Using_XMLHttpRe …
同期処理なら、HTMLFormElement.submit() でもいいと思います。
form.submit - MDC
https://developer.mozilla.org/ja/DOM/form.submit
この回答への補足
>「POSTメソッド」「PUTメソッド」のどちらを希望しているのでしょう?
申し訳ありません。 POSTメソッドを希望しています。
XMLを利用しなければ実現は難しいでしょうか。。。 可能であれば、javascript あるいは
ajax あたりで開発をしたいと考えているのですが。。。。
初歩的な質問で申し訳ありません。
教えて下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL MySQL,JavaScript,PHPコードの結果を表示する方法を教えてください。 1 2023/02/13 17:49
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Excel(エクセル) マクロでボタンにつける名前がどこに設定されているかわからないケースがありました。 1 2023/06/19 19:37
- JavaScript javaScriptで画面に値を入れるには 1 2022/08/14 12:27
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スマホ上で、左右スワイプで次...
-
出発駅A、到着駅Bを選択すると...
-
フォームが空欄の時にフォーム...
-
ブラウザの横幅に応じてとある...
-
jsで、配列内の文章を改行する...
-
タグを教えてください。
-
セレクトを全て選択されていな...
-
変数宣言と初期値代入の場所に...
-
ラジオボタンを複数選択したと...
-
jsで質問です。 formをsubmitし...
-
2025年相性がいい人のサイトの...
-
CookieをWebStoeageに変える
-
Adobe acrobat proでフォームを...
-
Outlookのアカウントがあるとメ...
-
jqueryのselect2で検索欄の文字...
-
<tr>指定した表の行要素をボ...
-
食材の期限を管理するためにGAS...
-
ビデオのJSについて
-
鍵盤アプリで、スマホの画面に...
-
<div>のタッチ状態を維持したま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
[jQuery UI] sortableを使いaja...
-
jsのreturnで値が返ってこない
-
変数にドットをいれることはか...
-
Ajaxのエンコードで
-
ajaxでPOSTする変数の変数名を...
-
読み込み開始から読み込み終了...
-
javascriptでAPIをcallしたい
-
リンク付きの画像をクリックす...
-
JQueryの正規表現を使った表記...
-
onChange に関して
-
.txtファイルの読み込み
-
jqueryでの外部XMLファイルの読...
-
JavaScriptでリンク先コンテン...
-
Javascriptを使ってQRコード読...
-
jQueryで外部テキストファイル...
-
SQLのmaxで求めた値を変数に代...
-
JavascriptからPHPへのAjax通信...
-
JavaScriptでtabindexの変更っ...
-
カンマ区切りのデータを配列に...
-
階層別の組織図の自動作成について
おすすめ情報