-2

私は本当にこれにいくつかの助けを使うことができました。他の誰かのコードを変更しています。基本的に、スクリプトが行うことは、ColdFusionを介してデータをループすることです。ユーザーは、これらのループされたアイテムのそれぞれにデータを挿入することを想定しています。次に、完了するとjavascriptボックスがポップアップし、ユーザーが入力したデータが正しいことを確認します。これは問題なく機能します...私が問題を抱えているのは、各ループフォームの横にあるチェックボックスをクリックして、送信するループフォームを選択する必要があることです。コールドフュージョンの部分は簡単に機能するようになりました。ただし、チェックされたフォームのみを検証するための検証ボックスが必要です。

確認ボックスの変数の例

<cfset VARIABLES["PromptMessage" & CurrentRow] = VARIABLES["PromptMessage" & CurrentRow] & "<br /><br /><strong>LEASE:</strong>&nbsp;">
                    <cfset VARIABLES["PromptMessage" & CurrentRow] = VARIABLES["PromptMessage" & CurrentRow] & "L. HRS: <strong style=""color:black"">' + $('##LE_LEFH#CurrentRow#').val() + '</strong>">
                    <cfset VARIABLES["PromptMessage" & CurrentRow] = VARIABLES["PromptMessage" & CurrentRow] & "&nbsp;|&nbsp;L. CYCLES: <strong style=""color:black"">' + $('##LE_LCYCLES#CurrentRow#').val() + '</strong>">
                    <cfset VARIABLES["PromptMessage" & CurrentRow] = VARIABLES["PromptMessage" & CurrentRow] & "&nbsp;|&nbsp;R. HRS: <strong style=""color:black"">' + $('##LE_REFH#CurrentRow#').val() + '</strong>">
                    <cfset VARIABLES["PromptMessage" & CurrentRow] = VARIABLES["PromptMessage" & CurrentRow] & "&nbsp;|&nbsp;L. CYCLES: <strong style=""color:black"">' + $('##LE_RCYCLES#CurrentRow#').val() + '</strong>">
                    <cfset VARIABLES["PromptMessage" & CurrentRow] = VARIABLES["PromptMessage" & CurrentRow] & "<br /><br />">

チェックボックスの例

<div style="color:##ff0000;background-color:;background-color:##dadada;border-left:1px solid ##999;border-right:1px solid ##999;border-bottom:1px solid ##999;"><input type="Checkbox" name="Confirm#CurrentRow#" value="1"> <strong>Select to report engine usage for this aircraft.</strong></div></div>

確認ボックスのアクションコード。

 <script type="text/javascript">
    $(document).ready(function(){
      // catch submit 
      $("##btn_submit").click(function(e){
        jConfirm('<strong>Confirm your engine usage information. Click Confirm to proceed or Edit to edit your values.</strong><cfloop from="1" to="10" index="x">#VARIABLES["PromptMessage" & x]#</cfloop><br />', 'Report Confirmation Dialog', function(r) {
          // If they confirmed, manually trigger a form submission
          if (r) $("##btn_submit").parents("FORM").submit();
        });
        // Always return false here since we don't know what jConfirm is going to do
        return false;
      });
    });

$(document).ready(function() {
var $dialog = $('<div></div>')
    .html('This dialog will show every time!')
    .dialog({
        autoOpen: false,
        title: 'Basic Dialog',
        modal: true,
        height: 400,
        buttons: {
            "Delete all items": function() {
                $( this ).dialog( "close" );
            },
            Cancel: function() {
                $( this ).dialog( "close" );
            }
        }
    });

$('##popup').click(function() {
    $dialog.dialog('open');
    // prevent the default action, e.g., following a link
    return false;
});
});

 </script>

クエリを介してループしていることに注意してください。

4

1 に答える 1

1

フォームを再設計することをお勧めします。これですべてをクエリの行番号に結合する代わりに、レコードのidフィールドに結合します。そうすれば、作業が簡単になります。

チェックボックスはすべて同じ名前で値が異なる場合、操作が簡単になります。このようなもの:

<cfoutput query="somequery">
<input type="checkbox" name="processme" value="#id#">
</cfoutput>

次に、フォームを処理するときに、単純なループを実行できます。

<cfif StructKeyExists(form, "processme")>
<cfloop list = "#form.processme#" index="ThisID">
code
closing tags
于 2013-02-11T22:46:16.097 に答える