ユーザーが入力するフォームがあり、フォームを送信したり、データをプレビューしたりできます。ユーザーがデータをプレビューすることを選択した場合は、フォームを再度表示するのではなく、見栄えの良いページにまとめます。ここから送信を押すか、フォームに戻ることができます。このフォーラムの @JFK と @jerdiggity のおかげで、見栄えの良いプレビューが表示されます。プレビュー iframe から送信を押すと、sendMessageclass.php というファイルで関数を呼び出そうとしています。私のプレビュー ペインでは、最後に次の 2 つのボタンがあります。
<a class="submit btn login-submit" name="saveData" href="javascript:;">Submit</a>
<a class="closeFB btn login-submit" href="javascript:;">Back to Edit</a>
preview.php ファイルの先頭には、次のものがあります。
$(document).ready(function(){
$('#saveData').live('click', function() {
$.post('classes/sendMessage.class.php?\__construct');
return false;
});
__construct 関数は次で始まります。
if(!empty($_POST)) {
foreach ($_POST as $field => $value)
.........
フィールドの検証を続けてから、データベースに送信します。フォームを送信すると(プレビューを実行せずに)、データがデータベースに正常に挿入されるため、この部分が機能することはわかっています。送信を押したときの Firebug のエラーは次のとおりです。
TypeError: e[h] is not a function
また、sendMessageclass.php に以下の行を追加して、プレビュー ボタンではなく、送信ボタンが押されていることを確認しました。
if (isset($_POST['submit'])) {
preview.php ファイルから送信ボタンを押したときに sendMessageclass.php を呼び出す方法はありますか?