簡體   English   中英

jQuery簡單模態並插入數據庫

[英]jquery simple modal and insert on database

我正在使用jquery.simplemodal-1.1.1和jquery-1.2.6.min創建模式彈出窗口。 這是我的問題:我可以顯示窗口,可以插入值,字段,ecc。 我有2個按鈕,保存並關閉。 當我單擊保存按鈕時,它會觸發一個事件,該事件從后面的代碼開始執行在數據庫中插入一些日期的存儲過程。 問題是,當我單擊關閉按鈕時。 我打開模式窗口,不執行任何操作,然后單擊“取消”。 關閉模式窗口。 我再次打開模態窗口,填充字段並單擊保存。 該程序執行兩次保存按鈕事件,然后在數據庫中插入兩次相同的信息。 這是我正在使用的javascript代碼:

$(document).ready( function()
{
  $("#nuovoT").click(function(ev) {
     ev.preventDefault();
     $("#TextBoxPrenot").val("");
     $("#msg").text("");
     //Open the popup container
      $("#addTrasport").modal({
 onOpen: modalOpenAddCustomer,
 onClose: modalOnClose,
 persist: true,
 containerCss: ({ width: "500px", height: "275px", marginLeft: "-250px" })
      });
  });
});

function modalOpenAddCustomer(dialog) {
  dialog.overlay.fadeIn('fast', function() {
    dialog.container.fadeIn('fast', function() {
      dialog.data.hide().slideDown('slow');
    });
  });
  dialog.data.find(".modalheader span").html("TITULO");
 // if the user clicks "yes"
  dialog.data.find("#ButtonConferma").click(function(ev) {
 /*Valida se si compila almeno uno dei due campi*/
  $("#msg").val("");
 if ( ($("#TextBoxTrasp").val() == '') ){
   $("#msg").append("* Devi immetere il nome del trasportatore <br/>"); 
 ev.preventDefault;
 return false;
  }
  else{
  }
  $.modal.close();
  $("#ButtonHiddenAddCustomer").click();
  });
  dialog.data.find("#ButtonCancel").click(function(ev) {
     ev.preventDefault();
     $.modal.close();
     return false;
  });
}

我做錯了什么???

提前謝謝!!!

問題在於,每次打開模式時,您的modalOpenAddCustomer例程都會將click事件添加到按鈕上。 因此,第二次在同一按鈕上有2次單擊事件。

要么:初始化modalOpen ...例程外部的click事件,即在(document).ready函數中。

或者:使用“ one ”代替點擊:

dialog.data.find("#ButtonConferma").one('click', function(ev) {

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM