ユーザーの電子メールを取得するためにを使用するページがあり、modal
それを購読者のリスト (Django モデル) に追加したいと考えています。そのためのモーダルコードは次のとおりです。
<div id="notifications" class="modal hide fade" role="dialog" ara-labelledby="Notification" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">X</button>
<h4>Subscribe to Status Notifications</h4>
</div>
<form>
<div class="modal-body">
<input type="email" placeholder="email"/>
<p>This service will notify you by email should any issue arise that affects your plivo service.</p>
</div>
<div class="modal-footer">
<input type="submit" value="SUBMIT" class="btn"/>
</div>
</form>
</div>
Twitter Bootstrap doc を調べてみましたが、実際には最小限です。POST
データをDjango view that's listening for
POST リクエストに送りたい。
これが必要不可欠です。regex
メールIDを保存する前に、メールの形式を比較するために使用しています。したがって、電子メールがdoes not
一致する場合regex
、ビューは を返しますInvalid Email
。そのため、そのことをユーザーに通知したいと思いmodal
ます。しかし、これを行う方法については本当にわかりません。誰か助けてください。
更新 1
karthikrの答えに基づいてこれを試しました:
<form id="subscribe-email-form" action="/notifications/subscribe/" method="post">
<div class="modal-body">
<input type="email" placeholder="email"/>
<p>This service will notify you by email should any issue arise that affects your service.</p>
</div>
<div class="modal-footer">
<input id="subscribe-email-submit" type="submit" value="SUBMIT" class="btn" />
</div>
</form>
<script>
$(function(){
$('subscribe-email-form').on('submit', function(e){
e.preventDefault();
$.ajax({
url: "/notifications/subscribe/",
type: "POST",
data: $("subscribe-email-form").serialize(),
success: function(data){
alert("Successfully submitted.")
}
});
});
});
</script>
私を混乱させるものがあります。のonclick
イベントはmodal button
どうですか?
わかった!行に追加name="Email"
しました<input type="email" placeholder="email"/>
Django フィールドはEmail Field
. したがって、私のDjangoビューでは、コードは次のとおりです。
request.POST.get("Email", '')
そのため、フィールド名を指定すると役立ちます。しかし、投稿している URL に移動します。同じページにアラートを表示したい。
更新 2
したがって、パート1は機能しています。投稿のように機能しています。ここで、成功または失敗のモーダルを表示する必要があります。
これが私が試していることです。だから私はこのモーダルを次のように作成しましたtextarea
:
<div id="subscription-confirm" class="modal hide fade in" aria-hidden="true">
<div class="modal-header">
<label id="responsestatus"></label>
</div>
</div>
そして JavaScript:
<script>
$(function(){
$('#subscribe-email-form').on('submit', function(e){
e.preventDefault();
$.ajax({
url: 'notifications/subscribe/',
type: 'POST',
data: $('#subscribe-email-form').serialize(),
success: function(data){
$('#responsestatus').val(data);
$('#subscription-confirm').modal('show');
}
});
});
});
</script>
したがって、モーダルが表示されますが、データはset
のlabel
フィールドにはありませんmodal
。