我有这个HTML代码 -
<form method="post" style="width:100%; margin-bottom:40px;" >
<textarea id="wall_post" style="width:100%;; margin-left:-4px; margin-right:auto; resize:none;" rows="4"></textarea>
<input id="wallPost" type="submit" value="Post" method="post" style="float:right; font-size:65%;" />
<div id="vectors" style="display:inline; float:left; margin-right:20px;">
<input type="checkbox" id="sms" value = "SMS" method = "post"/><label for="sms" style="font-size:65%;">SMS</label>
<input type="checkbox" id="email" value = "Email" method = "post"/><label for="email" style="font-size:65%;">Email</label>
</div>
</form>
正如您所看到的,有几个按钮。我想拥有它,以便当单击带有值SMS的复选框时,textarea中的内容将传递到django视图。我知道我可以使用带有相关url conf的jquery ajax帖子将内容传递到django,但是如何根据用户的请求这样做呢? (在伪代码中 - 如果用户点击帖子,给django函数文本区域文本)
谢谢!
答案 0 :(得分:0)
为什么要改变你的textarea是否被提交给django?
数据不多。为什么不总是提交它并检查您的视图是否选中了SMS复选框? 如果选中:使用textarea数据执行某些操作。如果不是:不要。
注意:您在每个输入上都缺少name
属性。
def my_view(request):
if request.method == 'POST':
if request.POST.get('sms'):
# do something with text area data since SMS was checked
print request.POST.get('my_textarea')
# process form as usual.
如果您想更改django是否读取您的数据,您可以使用javascript动态添加或删除textarea的name
属性,但这比上述解决方案风险更大,工作量更大。
<form method="post">
{% csrf_token %}
<textarea name="my_textarea"></textarea>
<input type="checkbox" name="sms" />
</form>