1

私がする必要があるのは、フォームの値が保存されているデータと「類似」している場合にデータベースにクエリを実行し、その結果をテーブル(検索フォーム)として返すことです。フォームアクションはjavascript関数を呼び出します。この関数は入力を検証し、フォームが存在するのと同じdiv(ajax)にテーブルをロードします。私のColdFusionページでは、実際にクエリを実行する場所なので、そこでこれらのフォームフィールドの値にアクセスする必要があります。私の質問は、これを行うための最良の方法は何ですか?フォームオブジェクトがcoldfusionに送信されないため、#form.value#は機能しません。

私は:

DOMフォームオブジェクトをjavascript関数に渡し、それをcoldfusionに渡しますか?もしそうなら、どのように?

フォームを実際に送信せずに、ColdFusionページのフォームフィールド値を参照しますか?もしそうなら、どのように?(フォームはボタンをクリックすると送信されますが、更新は行われず、上記で説明したjavascript関数呼び出しのみが送信されます)。

ありがとう

4

2 に答える 2

6

JavaScriptは次のようになります。

var theValue = $("#thefield").val();
$.ajax({ type: "GET", url: "/processajax.cfm", data: {value: theValue}, dataType: "json", success: showResult });

あなたのColdFusionコードには次のようなものが含まれます:

<cfcontent reset="true" type="application/json; charset=utf-8">
<cfset someData = doSearch(URL.value)>
<!--- Build data into array --->
<cfset dataArray = [...]>
<cfoutput>#SerializeJSON(dataArray)#</cfoutput>

次に、JavaScriptに戻ると、コールバック関数が実行され、配列データを取得して結果のhtmlを構築し(またはテンプレートシステムを使用してそれを実行し)、目的のdivに貼り付けます。

于 2012-08-02T14:30:30.337 に答える
0

iframeに送信して、そこでフォームを処理するのが最も簡単でした。

于 2012-08-15T15:52:58.610 に答える