Ind*_*pta 19 javascript python django jquery twitter-bootstrap
我有一个页面使用a 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>
Run Code Online (Sandbox Code Playgroud)
我试着查看Twitter Bootstrap文档,但它确实很小.我希望POST数据能够django view听到POST requests.
这是必不可少的.我regex用来比较电子邮件的格式,然后再存储电子邮件ID.因此,如果电子邮件does not匹配,regex则视图返回Invalid Email.所以我想在用户内部通知用户modal.但我真的不知道如何做到这一点.有人请帮忙.
更新:
根据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>
Run Code Online (Sandbox Code Playgroud)
有些事让我感到困惑.那onclick事件怎么样modal button?
我知道了!我添加name="Email"的行<input type="email" placeholder="email"/>
django油田正在寻找Email Field.所以在我的django视图中代码是:
request.POST.get("Email", '') 所以指定字段名称有帮助.
但它需要我到我发布的网址.我希望它在同一页面中显示警报.
更新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>
Run Code Online (Sandbox Code Playgroud)
而且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>
Run Code Online (Sandbox Code Playgroud)
所以模态出现了.但数据并未set进入该label领域modal.
kar*_*ikr 18
您需要通过ajax提交来处理它.
像这样的东西:
$(function(){
$('#subscribe-email-form').on('submit', function(e){
e.preventDefault();
$.ajax({
url: url, //this is the submit URL
type: 'GET', //or POST
data: $('#subscribe-email-form').serialize(),
success: function(data){
alert('successfully submitted')
}
});
});
});
Run Code Online (Sandbox Code Playgroud)
更好的方法是使用django表单,然后呈现以下代码段:
<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>
Run Code Online (Sandbox Code Playgroud)
通过上下文 - 例如:{{form}}.
小智 5
我面临着同样的问题,如果没有ajax,就无法发布表单。但是找到了解决方案,希望它可以帮助和别人的时间。
<form name="paymentitrform" id="paymentitrform" class="payment"
method="post"
action="abc.php">
<input name="email" value="" placeholder="email" />
<input type="hidden" name="planamount" id="planamount" value="0">
<input type="submit" onclick="form_submit() " value="Continue Payment" class="action"
name="planform">
</form>
Run Code Online (Sandbox Code Playgroud)
您可以使用下面的javascript / jquery代码从引导程序模式提交帖子表格:在输入提交按钮的onclick上调用以下函数
function form_submit() {
document.getElementById("paymentitrform").submit();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
106525 次 |
| 最近记录: |