2011-07-13 13 views
0

これにアプローチする方法を考えて助けが必要です。Coldfusion:親/子の動的フォームフィールドを挿入する

私は、ユーザーが質問を作成できる動的フォームを持っています。彼らは、1つから多くの質問を持つことができます。

これらの質問には、1対多の回答が関連付けられています。

UIはjqueryによって駆動されます。フィールド名は、そのように処理ページに投稿:など

回答は次のようになりQuestion1、Question2、Question3、::

質問のように見えるQuestion1-ANSWER1、Question1-ANSWER2、Question2-ANSWER1など

私は質問をループし、挿入して新しいIDを取得し、それを答えに適用して私のデータベースの質問と回答の関係を構築する必要があることを知っています。

これに技術的にどのようにアプローチするかについては、私の最初の推測は、配列の2番目の列が回答の配列である質問配列を作成することです。私はその後、配列をループするだけです。

ヘルプ? :)ありがとう!

+0

質問と回答の順序は重要ですか? – Henry

+0

実際には関係は維持されていません。 –

+0

私は後で質問を並べ替える機能を追加するかもしれませんが –

答えて

1

多くの質問と回答をループの多いループの&ロジックに挿入するのではなく、ユーザーが質問と回答を追加するときに挿入します。つまり、あなたは別の質問フィールドを追加するためにjavascript [Ajax?]を使用して「別の質問を追加する」ボタンが必要なようなサウンドを使用します。このような

0

何かがトリックを行います:

<cfloop list="#form.fieldNames#" index="field"> 
<!--- yes, i used len('question') rather than '8' for readability---> 
<cfif len(field) gt len('Question') AND left(lCase(field), len('Question')) eq 'question' and listLen(field,'-') eq 1> 
    <cfset question = form[field]> 
    <!--- insert question into database ---> 
    <cfloop list="#form.fieldNames#" index="answerField"> 
     <cfif findNoCase(field, answerField) and listLen(answerField) gt 1> 
      <cfset answer = form[answerField] > 
      <!--- answer for same question, insert into database ---> 
     </cfif> 
    </cfloop> 
</cfif> 

私たちがやっていることのフォームからフィールドをループし、質問を見つけることです。見つけたら、データベースに挿入します。フィールドが長い文字列「質問」 と超える場合

<cfif len(field) gt len('Question') 
    AND left(lCase(field), len('Question')) eq 'question' and 
    listLen(field,'-') eq 1> 

:私たちは質問欄を見つけているどのようにその後、我々はループその質問の答えを見つけて、データベース

にそれらを挿入します8つの文字を左にして「質問」 で、より多くの文字、我々は答えを見つける方法

とダッシュはありません。

<cfif findNoCase(field, answerField) and listLen(answerField) gt 1> 

質問フィールドが名前の一部である場合 ダッシュを含むので、複数の要素

意味がありますか?

0

私はフォーム上に階層レベルの階層データを5つまで持っていたことを除いて、これまで同様の問題に取り組みました。その場合は、Javascriptを使用してデータの構造を構築し、JSONに変換してAJAX経由でサーバーに送信します。 CFはJSONDeSerialize()を使用して、コードの1行でheirarchical struct-of-structsに変換しました。あなたはクライアントにもっと多くの仕事を送り込んでいますが、それは構造がすでに定義されている場所なので、そこではもっと簡単にできますか?

関連する問題