为了账号安全,请及时绑定邮箱和手机立即绑定

在Django模板的另一个字段更改后如何禁用复选框?

在Django模板的另一个字段更改后如何禁用复选框?

慕盖茨4494581 2021-04-09 14:19:41
我是初级后端python开发人员(Django),但我必须执行“简单”的前端任务。我认为这很容易,但对我而言并不容易,因为我的前端以F :(我在此应用程序中使用引导程序。我有一个带有某些字段的表单字段,其中两个是名为'checkbox_1'的复选框 和名为'price_1'的价格的数字字段。True复选框表示“产品免费”,因此...如果checkbox_1为True,则应该禁用“ price_1”字段,因此我无法在其上书写。如果'price_1'为0且'checkbox_1'为False,则会显示一条消息“如果产品不是免费的,则价格不能为0”。我已经尝试过使用类似if语句的django模板:<form action="index.html" method="POST">    <div class="form-group">        <label class="control-label">{{ form.price.label }} </label>        {{ form.price }} EUR    </div>    <div class="checkbox m-b-14">        <label>{{ form.free_product }} <i>/</i> {{ form.free_product.label }}</label>        <!--AND HERE IS MY TRY-->        {% if form.price.value == 0 %}            TEST Price 0        {% else %}            TEST price is bigger than 0        {% endif %}    </div></form>仅在首次进入页面后才起作用。我想我必须使用JS吗?也许有可能在bootstrap或django模板中做到这一点?即使我的示例可以正常工作,我仍然不知道如何在运行时通过“必需”或“禁用”……在您单击复选框的那一刻。如果我不知道如何正确搜索它,这对我来说是不可思议的; /您能帮我在这里做什么才能使它正常工作吗?
查看完整描述

1 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

您无法使用django做到这一点,因为django具有同步调用...所以要再次收到django的任何响应,您都需要发出新请求或刷新页面...因为您需要动态的东西,所以应该使用Javascript来做到这一点。


document.getElementById('yourBox').onchange = function() {

    document.getElementById('yourText').disabled = !this.checked;

};


<input type="text" id="yourText" disabled />

<input type="checkbox" id="yourBox" />


查看完整回答
反对 回复 2021-04-27
  • 1 回答
  • 0 关注
  • 141 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号