【问题标题】:django - insert value into a text filed using javascriptdjango - 使用javascript将值插入文本字段
【发布时间】:2011-07-04 10:26:34
【问题描述】:

我的模板上有一个 django 表单,如下所示:

<form action="/my-page/" method="post" name="my_form">{% csrf_token %}
    {{ form.non_field_errors }}
    <div class="fieldWrapper">
        {{ form.txt_filed1.errors }}
        <label for="id_txt_field1">Profile Name:</label>
        {{ form.txt_filed1 }}
    </div>
    <p><input type="submit" name='update_button' value="Update" /></p>
</form>

我一直在尝试使用 javascript 向上面提交的文本插入一个值,但没有取得多大成功:

<script type="text/javascript">    
document.my_form.form-txt_filed1.value = "my value";
</script>

知道可能是什么问题吗?谢谢!

【问题讨论】:

  • 这只是在黑暗中拍摄,但请尝试将脚本更改为 document.my_form.txt_filed1.value = "my value";
  • 该 Django 代码的 HTML 输出是什么?
  • django代码的html输出为:

标签: javascript django django-forms


【解决方案1】:

当您的字段不包含 form- 时,您似乎输入了它。

试试:

// by the way, do you notice that your label is for id_txt_field1
// while your form field says {{ form.txt_filed1 }} ? 
document.my_form.txt_filed1.value = "my value";

或者:

document.getElementById('id_txt_filed_1').value = 'hello';

或者选择一个 javascript 框架。我更喜欢用 jQuery 编写:

$("input[name=txt_field_1]").val("hello")

【讨论】:

    【解决方案2】:

    这对我有用

    在表单中添加 id

    <form action="/my-page/" method="post" id="my_form" name="my_form">{% csrf_token %}
    ....
    </form>
    

    然后在js代码中

    //initialized form as a variable and then set properties
    var my_form = document.getElementById("my_form");
    my_form.txt_filed1.value = "my value";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-26
      • 1970-01-01
      • 2016-03-25
      • 1970-01-01
      相关资源
      最近更新 更多