1

最初に: Jquery UI メッセージ ボックスで Ajax リクエストを使用して返されるデータを表示したいと考えています。2 番目: 以下のコードでは、メッセージ ボックスが 1 秒間だけ表示されます。どうしてか分かりません!!!!!

<script>
  $(document).ready(function(){
    $("#dialog-confirm").dialog({
      autoOpen:false,
      resizable: false,
      height:140,
      modal: true,
      buttons: {
        "Ok": function() {
           $( this ).dialog( "close" );
        }
      }
    });

    $("#customer_form").submit(function(){
      $.get("../ajax/Services.php?Add=Add, function(data){
        if (data) {
          $("#dialog-confirm").dialog("open");
        }
      });
    });
  });
</script>
<body>
  <div id="dialog-confirm" title="MY TITLE">
    <p>
      SOME TEXT <span class="ui-icon ui-icon-alert"
                      style="float:right; margin:0 7px 20px 0;"></span>
    </p>
  </div>       
</body>
4

2 に答える 2

3

"SOME TEXT" を に置き換えたい場合は、横にあるアイコンに影響を与えずにその要素だけを選択できるようdataに、それを でラップする必要があります。span

 <div id="dialog-confirm" title="MY TITLE">
    <p>
      <span id="dialog-text"> </span>
      <span class="ui-icon ui-icon-alert"
                      style="float:right; margin:0 7px 20px 0;"></span>
    </p>
  </div> 

2 番目の問題については、新しいページが読み込まれている可能性があります。

submitアクションがフォロースルーして実際に送信されないようにする必要があります。

$("#customer_form").submit(function(ev) {
    ev.preventDefault();
    if (data) {
      $("#dialog-text").html(data);
      $("#dialog-confirm").dialog("open");
    }
});
于 2012-05-12T18:38:22.413 に答える
0

コードを修正してみてください:

"ファイル パスにaがありません

$("#customer_form").submit(function(){
  $.get("../ajax/Services.php?Add=Add", function(data){
    if (data) {
      $("#dialog-confirm").dialog("open");
    }
  });
});

返されたデータをダイアログに配置するには、次のことができます。

$("#customer_form").submit(function(){
  $.get("../ajax/Services.php?Add=Add", function(data){
    if (data) {
      $("#dialog-confirm p").append(data);
      $("#dialog-confirm").dialog("open");
    }
  });
});

詳しく読む: Jquery .append()

于 2012-05-12T18:30:47.777 に答える