0

下のボタンのあるフォームがあります:

<input name="send_message" type="submit" value="SEND A MESSAGE" />

このボタンは、phpスクリプトの下でトリガーされます。

if(isset($_POST['send_message'])){
$emails = "";

if(!empty($_POST['id'])){
    foreach($_POST['id'] as $email){
        if($emails == ""){
            $tempemail = explode("/",$email);
            $emails = $tempemail[1];
        }else{
            $tempemail = explode("/",$email);
            $emails .= ";" . $tempemail[1];
        }
    }

    if(!empty($emails)){
        echo "<script>window.location = \"mailto:me@abc.com 'recipient'?bcc=".$emails."&subject=Hello%20:%20\"</script>";

    }

上記のスクリプトは正常に機能していますが、電子メールクライアントが開いていると、ページを手動で更新しない限り親ウィンドウが空白になります。電子メールクライアントがポップアップしたときに親ウィンドウを再読み込みしたいのですが、誰か助けてもらえますか?ありがとう。

編集:

解決:

echo "<script>location.href = \"mailto:me@abc.com 'recipient'?bcc=".$emails."&subject=Hello%20:%20\"</script>";
echo "<script>window.location.href = "'.$_SERVER['PHP_SELF'].'"</script>";

PanayotKarabakalovにアイデアをありがとう。

4

1 に答える 1

0

すべての主要なブラウザでサポートされているLocationreload()メソッドを使用するか、必要に応じて別のメソッドを試してみてください。

わかりました。PHPを使用していないため、その部分をどこに挿入する必要があるかはわかりませんが、Reload()はプロパティではなくメソッド/関数であるため、おそらく次のようになります。

if(!empty($emails)){
        echo "<script>window.location = \"mailto:me@abc.com 'recipient'?bcc=".$emails."&subject=Hello%20:%20\"</script>";
        echo "<script>window.location.reload();</script>";
    }

[編集]まあ、おそらく、たとえばこのように、ページをリロードするためのPHP組み込みメソッドのいくつかはより良いでしょう。また、ページをリロードする必要のないmail ()関数があります。

于 2013-02-27T04:18:57.313 に答える