簡體   English   中英

如何刷新<div>在 html 而不是整個頁面</div><div id="text_translate"><p>我想刷新 html 頁面中的特定部分(包含表單),而不是 Django 模板中的整個頁面。當用戶提交重定向到下一個問題的表單時,表單包含問題和選擇。(base.ZFC35FDC70D5FC69D269883A82E 用於創建的腳本)倒計時器)</p><p> question_details.html</p><pre> {% extends 'app/base.html' %} {% block content %} &lt;div&gt; &lt;h2&gt;score -{{user.userextend.score}}&lt;/h2&gt; &lt;form action="{% url 'app:detail' quiz_id=que.quiz.id question_id=que.id %}" method="post" id="user_form"&gt; {% csrf_token %} {% for choice in que.answer_set.all %} &lt;input type="radio" name="choice" id="choice{{ forloop.counter }}" value="{{ choice.id }}"&gt; &lt;label for="choice{{ forloop.counter }}"&gt;{{ choice.answer }}&lt;/label&gt;&lt;br&gt; {% endfor %} &lt;input type="submit" value="Next"&gt; &lt;/form&gt; &lt;/div&gt; {% endblock %}</pre></div>

[英]How to refresh <div> in html and not the whole page

我想刷新 html 頁面中的特定部分(包含表單),而不是 Django 模板中的整個頁面。當用戶提交重定向到下一個問題的表單時,表單包含問題和選擇。(base.ZFC35FDC70D5FC69D269883A82E 用於創建的腳本)倒計時器)

question_details.html

{% extends 'app/base.html' %}
{% block content %}
<div>    
   <h2>score -{{user.userextend.score}}</h2>
   <form action="{% url 'app:detail' quiz_id=que.quiz.id question_id=que.id %}" method="post" id="user_form">
      {% csrf_token %}
      {% for choice in que.answer_set.all %}
          <input type="radio" name="choice" id="choice{{ forloop.counter }}" value="{{ choice.id }}">
          <label for="choice{{ forloop.counter }}">{{ choice.answer }}</label><br>

      {% endfor %}
      <input type="submit" value="Next">
   </form>
</div>
{% endblock %}

Django 模板的行為不像 AJAX 應用程序或 SPA。 它們遵循傳統的請求/響應周期,包括整頁重新加載。 它可以工作,但您需要使用 AJAX 或其他一些 JavaScript 庫。

Forms 在提交時默認重新加載 function。 例如,在反應中使用 Forms 時。 單擊提交按鈕時,我可以告訴組件不要重新加載頁面。

前任:

    onSubmit = { (e) => { 
        e.preventDefault(); 
        //call function here to update elements
        updateElement(data);
    }}

單擊提交按鈕時,這會停止頁面重新加載的默認行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM