2011-02-23 83 views
0

我有一個表單調用提交的PHP腳本插入數據到MySQL數據庫。我希望php腳本的輸出返回到灰色框。我一直無法做到這一點,所以我非常感謝你們可以提供的幫助。PHP輸出顯示在灰盒子

我對錶單定義的greybox調用見下面,但沒有做到這一點。

下面是代碼的一個子集:

<script type="text/javascript" src="greybox/AJS.js"></script> 
<script type="text/javascript" src="greybox/AJX_fx.js"></script> 
<script type="text/javascript" src="greybox/gb_scripts.js"></script> 

<div id="content"> 

<form id="contact_us" name="contact_us" action="contact-greybox.php" method="POST" onSubmit="return GB_showCenter('Testing', this.action, 500, 500)"> 
<fieldset> 
<label for="employee_id">Employee ID:</label> 
<input id="employee_id" name="employee_id" type="number" size="10" /><P /> 
<label for="employee_name">Employee Name:<strong><br /> (as it should appear on 
email) </strong></label> 
<input id="employee_name" name="employee_name" type="text" /><P /> 
</fieldlist> 

<p class="submit"><input type="image" name="submit" value="Submit Form" src="icons/ambas_submit.jpg" boder="0"> 

</form> 
</div> 

的PHP是一個簡單的插入語句到MySQL。

感謝所有幫助

回答

0

greybox不支持POST提交,但總的格局是使用AJAX提交形式 - 否則你的頁面會刷新。

您需要設置一個onclick($ .submit)的形式輸入,然後在你的Ajax調用結束返回false:

$('#contact_us').submit(function(){ 
    //get your inputs here 
    var e_id = $.('#employee_id').val(); 
    //...etc.... 
    $.post(... 
     //set your data/input fields here: 
     data: { id: e_id }, 
     success: function(response){ 
      //display the response: this is what you get back from: contact-greybox.php 
     } 
    }) 
    return false; 
}); 

fancybox是支持被稱爲純HTML作爲覆蓋箱一個參數,這樣你就可以把它放在你的成功函數中:

$.fancybox(response); 
...or 
$.fancybox(response.html)... etc. 
+0

非常感謝你的快速響應我會給你一個去,讓你知道它是如何去的。所以上面的代碼可以在一個外部的javascript函數上進行調用,並從窗體onsubmit事件中調用,對吧? – Tony 2011-02-25 05:22:32

+0

是的,這個JS代碼實際上可以在任何地方(在HTML /模板文件的腳本標籤中)或外部的js文件中。在綁定事件處理程序之前,它也應該包裝在$ .ready中以確保元素在那裏。 – awongh 2011-02-25 18:20:48