Вывод php на серый ящик
У меня есть форма, которая вызывает скрипт 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 ответ
greybox не поддерживает отправку POST, но общий шаблон заключается в использовании ajax для отправки формы, иначе ваша страница обновится.
Вам нужно установить onclick( $.submit) для ввода формы, а затем вернуть false в конце вашего вызова ajax:
$('#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.