2017-02-26 51 views
0

我有一個主要JS從主頁上的表單發佈代碼,然後用戶獲得一個輔助表單來更新詳細信息,並且他們在第二個表單上進行更新。次要JS表單提交呼籲

一切工作順利,直到第二次選擇提交(在我的網站上稱爲更新按鈕)。

這裏是更新頁面:

<div class="welcomersvp"><h2>Welcome <?php echo $PrimGuestSalutation; ?>!</h2></div><br> 

     <form name="updatersvpform" id="updatersvpform"> 

///跳過表單數據要簡潔

<div class="rsvp-button text-center"><button type="submit" class="hvr-sweep-to-right">Update</button> 

這裏是JS處理程序:

(function ($) { 
    'use strict'; 
    $("#updatersvpform").submit(function (event) { 

     event.preventDefault(); 

     $("#updateloading").css("display", "inline-block"); 
     $.post("updatersvp.php", { 
       updateaddress1: $("#updateaddress1").val() 
      }) 
      .done(function (data) { 
       if (data) { 
        $("#updateloading").hide(); 
        $("#UpdateSuccess").slideDown("slow"); 
        setTimeout(function() { 
         $("#FullField").slideUp("slow"); 
        }, 1500); 
        setTimeout(function() { 
         $("#FullField").html(data); 
        }, 2300); 
        setTimeout(function() { 
         $("#FullField").slideDown("slow"); 
        }, 3500); 

        $("#updatersvpform")[0].reset(); 
       } 
       else { 
        $("#updateloading").hide(); 
        $("#UpdateError").slideDown("slow"); 
        setTimeout(function() { 
         $("#UpdateError").slideUp("slow"); 
        }, 1000); 
       } 
      }); 

    }); 
})(jQuery); 

當我打更新,它只是重新加載實際地址欄中的所有變量的主頁面。沒有參考的PHP頁面(這似乎沒有收到任何東西)。

回答

1

沒有問題中顯示的代碼的其餘部分,我將假設第二個窗體是作爲DOM對象加載的,並且提交的JavaScript已經事先加載。

如果是這種然後情況改變

$("#updatersvpform").submit(function (event) 

$('body').on('submit', '#updatersvpform', function(event) 

不同的是,後者是作爲一行來監視內的目標(#updatersvpform)的DOM含量的變化父對象的範圍(body標籤)。

+0

這正是這個問題。我對此很陌生,所以我不確定它是否在初始加載後主動監視加載的東西。這固定了它。 –

+0

非常感謝您的支持。 –