0

送信時に php スクリプトを呼び出してデータを MySQL データベースに挿入するフォームがあります。PHPスクリプトの出力をグレーボックスに戻したいです。私はそれを機能させることができませんでしたので、皆さんが提供できる助けに感謝します。

以下のフォーム定義でグレイボックス呼び出しがありますが、うまくいきません。

コードのサブセットを次に示します。

<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 への単純な挿入ステートメントです。

どんな助けにも感謝します

4

1 に答える 1

0

graybox は 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.
于 2011-02-24T21:56:17.377 に答える