亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Django 的文本區域中自動保存用戶輸入

在 Django 的文本區域中自動保存用戶輸入

PHP
慕哥9229398 2023-11-09 20:19:14
我想自動將用戶輸入保存在文本區域中,而不需要任何提交按鈕。我正在尋找的用戶界面是谷歌文檔之類的東西。理想情況下,輸入后應有 2-3 秒的時間間隔,以防止每次輸入內容都提交請求。這是我當前的實現。模型:class ActionField(models.Model):content = models.TextField()def __str__(self):    return self.content看法:def action_view(request):all_todo_items = ActionField.objects.all()return render(request, 'action.html',              {'all_items': all_todo_items})和顯示我想刪除的表單和提交按鈕的 html:<form action="/add/" method='post'>{% csrf_token %}    <textarea name="content" rows="30" cols="100"></textarea>    <br><br> <input type="submit" value="enter"></form>經過一些快速研究,似乎這通常是使用 AJAX 或 Jquery 完成的,但是有沒有純粹使用 Django 的簡單方法?我對框架以及 html / FE 都是新手。
查看完整描述

1 回答

?
侃侃爾雅

TA貢獻1801條經驗 獲得超16個贊

我從來沒有聽說過這種可能性。Django(就像任何其他后端框架一樣)只能向瀏覽器發送數據或從瀏覽器接收數據。如果瀏覽器端沒有任何腳本,它無法以某種方式使您的瀏覽器發送某些內容。但是,您可以使用一個腳本:


<head>

? <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

</head>

<body>

? <form action="/add/" method='post'>{% csrf_token %}

? ? <textarea name="content" rows="30" cols="100"></textarea>

? ? <br><br>

? ? ?<input type="submit" value="enter">

? </form>

? ??

? <script>

? ? $("textarea[name='content']").on("change", function() {

? ? ? $.ajax({

? ? ? ? url: '/add/', // or better {% url 'view-name-in-urls.py' %}

? ? ? ? method: 'POST',

? ? ? ? data: {

? ? ? ? ? content: $(this).val(),

? ? ? ? ? csrfmiddlewaretoken: '{{ csrf_token }}'

? ? ? ? }

? ? ? }).done(function(msg) {

? ? ? ? alert("Data saved");

? ? ? })

? ? });

? </script>

</body>

我知道在服務器端完成所有事情的能力非常方便并且看起來不錯,但這是不可能的。您還需要學習如何在客戶端處理服務器。


查看完整回答
反對 回復 2023-11-09
  • 1 回答
  • 0 關注
  • 136 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號