Взять текст из области текста - PullRequest
0 голосов
/ 21 сентября 2011

У меня есть этот 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, содержимое текстовой области передалось представлению django.Я знаю, что могу передать материал в django, используя пост jquery ajax с соответствующим URL-адресом conf, но как мне это сделать по запросу пользователя?(в псевдокоде - если пользователь нажимает на сообщение, введите текст в текстовой области функции django)

спасибо!

1 Ответ

0 голосов
/ 21 сентября 2011

Почему вы должны изменить, отправляется ли ваша текстовая область в 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 ваши данные, вы можете динамически добавлять или удалять атрибут name текстовой области с помощью javascript, но это более рискованно и требует больших усилий, чем приведенное выше решение.

update - html для работы с кодом выше.

<form method="post">
    {% csrf_token %}
    <textarea name="my_textarea"></textarea>
    <input type="checkbox" name="sms" />
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...