Monday, September 30, 2013

Re: Textarea and initial value

ps. If I render the form with 
<form action='{{ url('account') }}' method='POST' enctype='multipart/form-data'>
        {{ form.as_ul() }}
</form>
I get the same behaviour.

Marcin


On 30 September 2013 17:11, Marcin Szamotulski <mszamot@gmail.com> wrote:
Sure here it is how the form is render:

 <form action='/account/' method='POST' enctype='multipart/form-data'>
<input type='hidden' name='csrfmiddlewaretoken' value='********************' />
<textarea cols="80" id="id_about" name="about" rows="10">
Submit</textarea>
<div class='errors about_errors'>
</div>
<label for="id_format">Format:</label>
<select id="id_format" name="format">
                <option value="t">Text</option>
                <option value="r" selected="selected">reStructuredText</option>
                <option value="m">MarkDown</option>
        </select>
<div class='errors format_errors'>
</div>
<label for="id_image">Profile image:</label>
<input id="id_image" name="image" type="file" />
<div class='errors image_errors'>
</div>
<input type='submit' name='about' value='Submit'>
    </form>

I use jinja2 template language and it is rendered with
    <form action='{{ url('account') }}' method='POST' enctype='multipart/form-data'>
{% csrf_token %}
{{ render_field(aboutform.about, label=False) }}
{{ render_field(aboutform.format) }}
{{ render_field(aboutform.image) }}
<input type='submit' name='about' value='Submit'>
    </form>

where render_field is a simple macro:

{% macro render_field(field, inline=True, after=True, label=True) -%}
    {% if inline and field.field.widget.__class__.__name__ == 'CheckboxInput' -%}
{{ render_boolfield(field, after) }}
    {%- else -%}
{% if label -%}
{{ field.label_tag() }}
{%- endif %}
{{ field.as_widget() }}
<div class='errors {{field.name}}_errors'>
{{ field.errors.as_ul() }}
</div>
    {%- endif %}
{%- endmacro %}

Thanks,
Marcin



On 30 September 2013 15:11, Daniel Roseman <daniel@roseman.org.uk> wrote:
On Monday, 30 September 2013 15:41:47 UTC+1, Marcin Szamotulski wrote:

I don't do anything odd: I simply modify it by typing in side textarea.
The page has a very simple JavaScript which does not do anything with
the textarea (though I double-checked that turning it off does not
improve the situation).  Inspecting the request reveals that the data is
indeed submitted twice (thus django correctly interpret the situation).

The form is using enctype='multipart/form-data' since it is also used to
submit a file, though leaving only the textarea inside the form and
removing the enctype does not help.

I also checked this in both firefox and chrome and both show that the
POST data for this textarea is submitted twice.

Any ideas?

Thanks for help,
Marcin

Can you perhaps post the template fragment that renders the field, and also the rendered HTML?
--
DR. 

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/045cca12-7ec5-4d29-bc6c-4a601eff5996%40googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.


--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CADkSB_3ivuQkLV-HYpTABAurOxgZJ-WiSC8d5%3DDOOKy5tF3Sag%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

No comments:

Post a Comment