2011-06-01 10 views
1

データベースエントリを表示し、編集/削除を可能にするコードがあります。フォームがColdfusionで送信された後のTextFieldの変更の確認

特定のフィールドが変更されているかどうかを確認するために何らかの方法を探しています。フィールドの古いデータがデータベースエントリによって参照されていない場合は削除できます。これを行う方法に関するアイデア?

最初のコメントに応答する/編集:この問題のコードをここに入力するのはいくらか難しいですが、私は役立つスニペットをつかむようにします。

<td>Upload File:</td> 
<td> 
    <input type="file" name="txtName" size="50" /> 
</td> 
<cfif url.filesid neq "0"> 
<td>Or Use Server File:</td> 
    <td> 
    <select name="ddlFilesNames"> 
     <option value="" selected></option> 
      <cfoutput query="qfiles"> 
       <option 
        value="#qfiles.name#" 
        #iif(qfiles.name eq recEditFiles.fileName,DE("selected"),DE(""))# 
       >#qfiles.name#</option> 
      </cfoutput>       
    </select> 
    </td> 
</cfif> 

彼らは編集ボタンがヒットしたときダウンリストを選択し、ドロップが表示されている現在のサーバーのファイルを持っていますが、彼らはテキストフィールドにファイルを追加するか、編集中に、変更された場合、これらは私がチェックする必要がある2つのフィールドです(ブラウズ・オプションを使用して新しいファイルをアップロードする)、ドロップダウン・リストから別のファイルを選択してから、変更を送信する更新ボタンを押すことができます。

更新ボタンがクリックされたとき、フィールドがまったく変更されたかどうかを何とか確認する必要があります。

ボタンがヒットしたら、JavaScriptメソッドが呼び出され、今まで私が失敗したことは、javascriptメソッド内でcoldfusionをレースしていることです。それはプログラムを壊す。

答えて

2

フォームのフィールドがオリジナルから変更されたかどうかを比較する簡単な方法は、元のデータを隠しフォームフィールドに含めることです。次に、アクションページでフォームフィールドとその隠しカウンターパートの値を比較し、変更されました。

形式:

<input type="text" name="myField" value="#q.myField#" /> 
<input type="hidden" name="myField_original" value="#q.myField#" /> 

アクション:フォームのフィールド名と一致している場合は

<cfif form.myField NEQ form.myField_original> 
    <cfset fieldHasChanged = true /> 
<cfelse> 
    <cfset fieldHasChanged = false /> 
</cfif> 

これらの比較を行うためにアクションページでは、ループを作成するのは簡単でしょう。

+0

ありがとう、私はこれのようなことをやろうとしていましたが、私はこの言語にはまだ新しいので、正しく動作させることができませんでした。今働いているようだ。 – SomeoneRandom

0

いくつかのコードが役に立ちます。 <input type="file" ... />があり、入力されたDBレコードからファイルを削除するかどうかを知りたいと思うでしょうか?

通常、私はレコードに関連付けられている現在のファイルとその画像を削除できる「削除」ボタンまたはアイコンを表示することでこれを処理します。私はまた、現在のファイルを置き換えるために別のファイルを選択するか、またはファイルなしでレコードにファイルを追加することをユーザーに許可する「置き換え」または「新しいアップロード」ボタンまたは「別のファイルをアップロードする」ボタンを含む。

このようなことをしないと、ユーザーは同じファイルをもう一度アップロードする気がしなかったかどうかを知る方法がありません。システムがそのファイルとそのデータベースレコードとの関連付けを削除するようにします。

+0

メインポストを編集して、少し鮮明にしました。 – SomeoneRandom

関連する問題