You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Django中不使用input标签,通过提交按钮提交文本?

如何在Django模板中不使用input标签,仅通过提交按钮提交文本内容?

嘿,我懂你想要的效果——把原来的输入框全删掉,只留个提交按钮就能把指定的文本内容提交给后端是吧?这里有两个实用的方案,完全符合你的需求:

方案1:用button元素直接携带提交内容

button元素本身支持name和value属性,当表单提交时,这两个属性会作为键值对被发送到后端。如果只需要提交单个字段,这种方法最简单:

{% extends 'header.html' %}
{% load staticfiles %}
{% block content %}
<h3> Question</h3>
<img src="/media/{{ image }}" >
<br>
<br>
<h3> Responses </h3>
<form method="post" action="/tools/submit">
{% csrf_token %}
<!-- 点击按钮就会把first_response=预设文本发送到后端 -->
<button type="submit" name="first_response" value="你要提交的第一个响应文本">提交响应</button>
</form>
{% endblock %}

如果需要提交多个字段(比如原来的first_response和second_response),推荐用下面的方案2实现。

方案2:用JavaScript动态添加提交数据(无任何输入标签)

这种方法完全不需要任何input/textarea等输入标签,所有要提交的内容都通过JavaScript动态添加,灵活性更高,适合多字段提交的场景:

{% extends 'header.html' %}
{% load staticfiles %}
{% block content %}
<h3> Question</h3>
<img src="/media/{{ image }}" >
<br>
<br>
<h3> Responses </h3>
<form id="response-form" method="post" action="/tools/submit">
{% csrf_token %}
<button type="submit">提交响应</button>
</form>

<script>
// 给表单绑定提交事件
document.getElementById('response-form').addEventListener('submit', function(e) {
    // 阻止表单默认提交行为
    e.preventDefault();
    
    // 创建FormData对象,自动包含csrf_token
    const formData = new FormData(this);
    
    // 添加你要提交的文本内容,这里可以加多个字段
    formData.append('first_response', '预设的第一个响应文本');
    formData.append('second_response', '预设的第二个响应文本');
    
    // 用fetch发送数据到后端
    fetch(this.action, {
        method: this.method,
        body: formData
    }).then(response => {
        // 提交成功后的逻辑,比如跳转页面或提示用户
        if (response.ok) {
            window.location.href = '/tools/submit-success'; // 示例跳转地址
        }
    });
});
</script>
{% endblock %}

小提示

如果要提交的是视图传递过来的模板变量(比如动态内容),直接把JavaScript里的固定文本换成模板变量就行,比如:

formData.append('first_response', '{{ dynamic_first_response }}');

后端处理逻辑完全不用改,依然可以用request.POST.get('first_response')来获取提交的内容哦。

内容的提问来源于stack exchange,提问作者muazfaiz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:28:26