我想要更新表單,更確切地說,我希望顯示額外的滾動菜單,具體取決於用戶在第一個滾動菜單中的選擇。使用JQuery刷新HTML表單(位於PHP頁面上)
我有一個頁面,mypage.php頁面上有一個窗體。這裏是:
<form method="post" action="wedontcare.php" enctype="multipart/form-data">
<label for="base">3 - Select a DB </label><br />
<?php
include 'functions.php';
offers_choice_DB();
if (isset($_POST['base_name_choice'])){
offers_choice_table($_POST['base_name_choice']);
}
我有一個分離的文件「functions.php」在哪裏聲明所有我在這裏使用的函數。 offers_choice_DB()顯示一個滾動菜單,我可以選擇一個數據庫(實際上,這個函數執行一個MySQL查詢並在滾動菜單中回顯結果)。如果用戶選擇一個數據庫,則存在$ _POST ['base_name_choice']。它確實如此,因爲當我只使用PHP/HTML時,一切都很好。
我的目的是讓用戶選擇一個數據庫,然後對於這個數據庫,我想顯示第二個滾動菜單,顯示這個數據庫中的一些表格。只有在設置了POST值後纔會顯示該滾動菜單。 offering_choice_table($ _ POST ['base_name_choice'])函數將此值作爲參數,然後回顯包含表格的滾動菜單的HTML。我們到了 !
呵呵,提交按鈕在這裏並不重要,因爲我想在用戶點擊提交按鈕之前顯示我的第二個滾動菜單,所以我們只是忽略目標頁面,好嗎?
之前,一切正常:我使用測試,條件(isset ...),但它不是動態的,我不得不打電話給其他頁面......等等。現在,我想,正如你所猜測的那樣,只要用戶選擇一個數據庫以便出現額外的菜單,就可以使用jQuery來刷新mypage.php。
我開始聽我的滾動菜單中的變化,但我不知道該怎麼做來刷新我的頁面與POST參數包含選定的數據庫。無論如何,這裏是我的代碼:
<script type="text/javascript">
$('#base_name_choice').change(function() {
var val = $(this).val(); //here I retrieve the DB name
alert(val); //I notify myself to check the value : it works
$.ajax({
type: 'POST', //I could have chosen $.post...
data: 'base_name_choice='+val, //I try to set the value properly
datatype: 'html', //we handle HTML, isn't it ?
success: function(){
alert("call ok"); //displays if the call is made
//and here...???? I don't know whatto do
}
})
});
</script>
這裏是...任何幫助將不勝感激!謝謝:)
問候
如果您只是獲取數據,則應該使用'GET'而不是'POST':http://stackoverflow.com/questions/1872965/get -vs-post-in-ajax – 2015-02-06 21:54:03
你可以追加數據,如$('element')。append('你想追加什麼');'例如:'$('form')。append(data );' – 2015-02-06 23:34:17