0

私は、再利用しようとしているPHPスクリプトで発生している特定の問題の解決策を探していました。

<?php $name = $_POST['name'];
$company = $_POST['company'];
$email = $_POST['email'];
$message = $_POST['message'];
$formcontent = "$name \nMessage: $message";
$recipient = "me@me.com";
$subject = "Contact Form";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die ("Error!");
echo "Thank You!" . " -" . " <a href = '../index.html' style = 'text-decoration:none;color:#ff0099;'>Return Home</a>";
?>

別のページにリダイレクトする代わりに、モーダルポップアップを介して確認を開始するクリーンな方法を理解したいと思っています。

スクリプトを外部ファイルとして実行しているので、答えはすでに半分あると思いますが、残りの作業を行うためにjQueryプラグインを呼び出すという点では、ポインターを1つか2つ使用できます。

4

4 に答える 4

1

リロードしたり、新しいページにリダイレクトしたりしたくない場合は、AJAX経由で投稿する必要があります。

次に、AJAX呼び出しの「成功」メソッドで、ダイアログをトリガーします。

于 2012-11-02T14:49:12.527 に答える
1
  • すべてのhtml入力をフォーム要素にラップします。
  • メール送信リンクをクリックして、ajaxイベントを添付し、メール送信のビジネスロジック(質問に示されているもの)を含むphpファイルにajaxPOSTリクエストを送信します。
  • 次に、イベントが成功すると、ユーザーに成功メッセージを表示できます。
  • 最小限のコードでこれを実装するには、JQuery(ajaxフォーム投稿用)とTwitter Bootstrap(CSSおよびモーダルウィンドウ用)の組み合わせを使用することをお勧めします
  • 以下のコードのようないくつかの実装はあなたを助けるかもしれません

$('#divId')。click(function(){

//start the ajax
$.ajax({
    //this is the php file that processes the data and send mail
    url: "send_mail.php",

    //POST method is used
    type: "POST",
    // here we are serializing all form values ( its is not php serialize)
    data: $("#Form").serialize(),
    //Do not cache the page
    cache: false,

    //success
    success: function (html) {             
        if (html=='1') {    
            $('#divModal').modal('show') ; 

        }              
    }      
});

//cancel the submit button default behaviours
return false;

});

于 2012-11-02T15:06:24.737 に答える
0

または、onsubmit属性でこれを使用できます

onSubmit="javascript: return confirm('Are you sure you want to submit this?');"

OK/キャンセルの確認を求めます

--- jQuery Ajax -----

function doSubmit(){
  var postData = jQuery('#your-form-id').serialize();    

  jQuery.ajax({
    url: 'form-action.php',
    data: postData
  }).done(function( html ) {
    alert(html);
  });
}

-そしてあなたのフォームタグで---

<form id="your-form-id" onsubmit="javascript: doSubmit();" ...
于 2012-11-02T14:53:55.490 に答える
0

diodeusが示唆しているように、phpファイルを呼び出すにはHTTPリクエストを使用する必要があります。リクエストから返される出力を使用して、ポップアップなど、ユーザーに通知したいものを作成できます。ここでは、その方法に関する基本的な情報をいくつか紹介します。

于 2012-11-02T14:54:58.870 に答える