从文本区域获取文本

时间:2011-09-21 16:58:38

标签: jquery ajax django

我有这个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函数文本区域文本)

谢谢!

1 个答案:

答案 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属性,但这比上述解决方案风险更大,工作量更大。

update - 使用上述代码的html。

<form method="post">
    {% csrf_token %}
    <textarea name="my_textarea"></textarea>
    <input type="checkbox" name="sms" />
</form>