2017-03-28 5 views
1

私はcontactページを持っていて、contact detailsmessageを置くことができます。情報を入力すると、mongodb collectionに保存されます。エラーがなければ私は連絡フォームを空にし、ポップアップメッセージを表示していただきありがとうございます。私はnodejsは一度に複数のページをレンダリングする

app.post("/contact", function(req, res){ 
    var name = req.body.name; 
    var email = req.body.email; 
    var phone = req.body.phone; 
    var message = req.body.mess; 
    var contact_message = new Contact({name:name,email:email,phn_no:phone,message:message}); 
    contact_message.save(function (err) { 
    if (err) { 
     return err; 
    } 
    else { 
     console.log("Contact details saved"); 
     res.render("contact"); 
    } 
    }); 

を使用している場合今すぐ上記のコードは、単に無ありがとうメッセージと同じcontact pageをバックレンダリングします。使用してメッセージを送信することによって、それをそのページをレンダリングする:私は新しいejsページ(thankyoupageを例):作成しようとすると

res.render("thankyoupage",{message: "thankyou"}); 

それが唯一の新しいありがとうのページをレンダリングし、影響を受けていないコンタクトページを残します。だから私はこのシナリオで連絡先のページを持っていません。私は両方のものが混在していることを望んでいます。連絡先のページにある空白のフィールドに背景にメッセージを表示してポップアップを表示します。とにかく私はそれを行うことができますか?どんな提案/ヘルプ/例も高く評価されます。

答えて

1

連絡先ページでは、ページが最初に読み込まれたときに実行されるスクリプトを挿入できます。そのスクリプトは、特定のJavascript変数がページに設定されているかどうかを確認します。その変数が設定されている場合、スクリプトはあなたに感謝メッセージを表示します。 Javascript変数が設定されていない場合、そのスクリプトは何も行いません。

次に、サーバー上でページをレンダリングするときに、Javascript変数に挿入する内容を示すプロパティをテンプレートに渡します。こうすることで、レンダリング操作でページがメッセージをポップアップするかどうかを制御できます。

この機能は、豊富な機能を備えています。たとえば、レンダリング、ページに表示する正確なメッセージ、テンプレートがそのメッセージをページ内のスクリプトに表示されるJavascript変数に入れることができます。

同様に、ポップアップは、必要なだけ豊富にすることができます。ページの連絡先部分が一時的に隠れている間に、全体のページを占めている部門全体でもかまいません。また、通常の連絡先ページのalert()またはprompt()メッセージボックスを使用することもできます。

+0

私はレンダリングから何かをjavascriptに送信しようとすると、どうすればいいのか分かりません。 – scrpaingnoob

+0

@scrpaingnoob - テンプレートを表示して、何を試してみる必要がありますか?あなたが間違っていたことや、それを解決する方法を知ること。 – jfriend00

+0

私はあなたが言ったようにそれを得たと思う、提案のおかげで – scrpaingnoob

関連する問題