0

MODNOTE: {} タグを使用してコードをフォーマットしましたが、見栄えが悪いです。私は今それを修正しようとしています。

私の具体的な質問は次のとおりです。

  1. JavaScript変数でフラグを設定しています。私がやっている方法は合理的なアプローチですか?

  2. このサイトや他の場所でこれを少し調べたところ、フラグは (1) 配列で、(2) 非表示の HTML 要素で、(3) Cookie で「設定」できることがわかりました。.data() でフラグを設定することについては何も見たことがありません。

  3. if/elseステートメントで決定を下すために1ページで使用するフラグを設定する「エレガント」、「標準」、「受け入れられる」方法はありますか? このような状況でどのようにフラグを設定しますか?

私のコードは以下の通りです:

  1. 「準備完了」後、フラグを「未設定」に設定します。

  2. ボタンをクリックして新しい情報をテーブルに入力します - フラグは「追加」に設定されています

  3. 既存のデータのテーブルの行をクリックします - フラグは「更新」に設定されています

  4. フラグが「追加」の場合は ajax を使用してテーブルに追加し、フラグが「更新」の場合はデータベース内の行を更新します。

コード

$(document).ready(function() {

  var flagaddupdate = "notset";

  $("#onsetdate").mask("99-99-9999");
  $("#entrydate").mask("99-99-9999");       
  $("#uonsetdate").mask("99-99-9999");
  $("#uentrydate").mask("99-99-9999");      

  $(function(e) {
  $("#reaction").autocomplete({
         source: [ "none", "rash/hives", "Nausea/vomiting", "Diarrhea", "Headache", "Dizziness" ],
         minlength: 1
                               });
                });


    $("#addintoleranceenterbutton").click(function() {
      flagaddupdate = "add";
      $( "#addintolerancetable" ).dialog(
                                         {height: 320,
                                           width: 450,
                                           modal: true}
                                         );
      });//end of add click

    $("#patienttable tr").click(function() {
      flagaddupdate = "update";
      $( "#addintolerancetable" ).dialog(
                                         {height: 320,
                                           width: 450,
                                           modal: true}
                                         );
      uniqueid = $(this).find("#uniqueid").html();
      $.ajax({
              type: "POST",
              url: "readintolerancebackend.php",
              data: {uniqueid: uniqueid},
              dataType : 'json',
              })
                .done(function(result){
                       $('#namegen').val(result['namegen']);
                       $('#nametrade').val(result['nametrade']);
                       $('#reaction').val(result['reaction']);
                       $('#onsetdate').val(result['onsetdate']);
                       $('#entrydate').val(result['entrydate']);       
                       if ( result['status'] == "Active" )
                          { $('#active').prop('checked',true);}
                          else
                          { $('#inactive').prop('checked',true);}
                                      })
                .always(function(data, textStatus, jqXHR){
                                                          console.log(data, textStatus, jqXH);
                                                          });
      });//end of update click

          $("#submitbutton").click(function() {
            var namegen    = $('#namegen').val();
            var nametrade  = $('#nametrade').val();
            var reaction   = $('#reaction').val();
            var onsetdate  = $('#onsetdate').val();
            var entrydate  = $('#entrydate').val();
            var status     = $('input:radio[name=status]:checked').val();

          if (flagaddupdate == "add")
            {
             $.ajax({
                     type: "POST",
                     url: "addintolerancebackend.php",
                     data: {
                            namegen: namegen, nametrade: nametrade, reaction: reaction,
                            onsetdate: onsetdate, entrydate: entrydate, status: status
                            }
                     })
                       .done( function( msg ) {alert( "Intolerance Added" + msg );
                                         window.location = "intolerance.php";
                                         })
                       .always(function(data, textStatus, jqXHR){
                                                           console.log(data, textStatus, jqXHR);
                                                           });  
            }
            else
            { do another ajax call};
4

0 に答える 0