php输出显示在灰盒子上

时间:2011-02-23 19:24:46

标签: php javascript post submit greybox

我有一个表单,在提交时调用php脚本将数据插入MySQL数据库。我想php脚本的输出返回到greybox。我无法使它工作,所以我感谢你们提供的任何帮助。

我在表单定义上有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插入语句。

感谢任何帮助

1 个答案:

答案 0 :(得分: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.