簡體   English   中英

在提交表單之前顯示 div 不起作用

[英]showing div before submitting form is not working

我有一個表單,我想在提交之前顯示一個確認 div,如果用戶在新 div 上單擊“確定”,則提交,如果不是,則不會提交,我正在使用 slideUp() 和 slideDown(),我很善良如果卡住,它不起作用,它只是重定向到下一頁,我如何通過新按鈕單擊返回 true 以實際提交表單,而不是使用原始提交按鈕?

<div class="choosing" id="choosing">
  <form action="rides.php" method="POST" id="tripinfo">
    <label> Date of the trip: <br>
      <input id="date" type="date" min="2021-06-21" required>
    </label> <br>
    <button type="submit" id="subBtn" class="btn"> Finish up</button>
  </form>
</div>

<div class="confirmation " id="confirmation" style="display:none" ;>
  //some stuff
  <button id="ok">ok</button>
</div>        

劇本:

<script>

  $('#tripinfo').submit(function () {

  $("#choosing").slideDown();
  $("#confirmation").slideUp();

  if ($('#ok').click)
    return true;
  else
    return false;
    //i'm pretty sure this if statement is wrong but i don't know what is wrong with it lol.
  }
  });

</script>

使用event.preventDefault()而不是 return false

您需要使用preventDefault()取消提交表單,然后在用戶單擊“確定”按鈕時使用不同的事件處理程序進行偵聽,並且僅提交表單:

 $('#tripinfo').submit(function(e) { if (e.originalEvent && e.originalEvent.isTrusted) //check if user clicked submit button or javascript clicked it e.preventDefault(); //prevent submitting the form if user clicked $("#choosing").slideUp(); $("#confirmation").slideDown(); }); $('#ok').click(function() { $('#tripinfo').submit(); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="choosing" id="choosing"> <form action="rides.php" method="POST" id="tripinfo"> <label> Date of the trip: <br> <input id="date" type="date" min="2021-06-21" required> </label> <br> <button type="submit" id="subBtn" class="btn"> Finish up</button> </form> </div> <div class="confirmation " id="confirmation" style="display:none" ;> //some stuff <button id="ok">ok</button> </div>

<div>提交表格后不顯示</div><div id="text_translate"><p>我正在嘗試使用 FLask 並使用簡單的 HTML 和 CSS 為前端構建一個 Webapp,因為我是新手。 現在我面臨的問題是&lt;div class="blocking"&gt;在我提交表單后沒有顯示,但&lt;div class="spinner"&gt;工作正常。 下面是代碼</p><pre class="lang-html prettyprint-override"> {% extends "layout.html" %} {% block content %} &lt;body&gt; &lt;form role="form" action="/reviewrequest/{{ value }}" method="POST" onSubmit="return validateForm():"&gt; &lt;table&gt;............. &lt;/table&gt; &lt;input type="submit" name="btn" value="Submit" class="btn btn-success success" /&gt; &lt;div id="blocking" class="blocking"&gt; &lt;div id="spinner" class"center loading"&gt;&lt;/div&gt;&lt;/div&gt; &lt;/form&gt; &lt;script&gt; function validateForm(){ document.getElementById("blocking").style.display = = 'block'; document.getElementById("spinner").style.display = = 'block'; } &lt;/script&gt; &lt;/body&gt; {% endblock %}</pre><p> 注意:相同的 CSS 代碼適用於另一個 HTML 文件。</p><p> 編輯:添加了 '.style.display' 但仍然相同,只有微調器顯示</p><pre class="lang-css prettyprint-override"> &lt;style type="text/css"&gt; #spinner { display: none; }.loading { border: 2px solid #ccc; width: 60px; height: 60px; border-radius: 50%; border-top-color: #1ecd97; border-left-color: #1ecd97; animation: spin 1s infinite ease-in; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } #blocking { display: none; }.blocking{ width: 100%; height: 100%; background: rgba(0,0,0,0.75) no repeat center center; } &lt;/style&gt;</pre></div>

[英]<div> not showing after submitting the form

暫無
暫無

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

相關問題 <div>提交表格后不顯示</div><div id="text_translate"><p>我正在嘗試使用 FLask 並使用簡單的 HTML 和 CSS 為前端構建一個 Webapp,因為我是新手。 現在我面臨的問題是&lt;div class="blocking"&gt;在我提交表單后沒有顯示,但&lt;div class="spinner"&gt;工作正常。 下面是代碼</p><pre class="lang-html prettyprint-override"> {% extends "layout.html" %} {% block content %} &lt;body&gt; &lt;form role="form" action="/reviewrequest/{{ value }}" method="POST" onSubmit="return validateForm():"&gt; &lt;table&gt;............. &lt;/table&gt; &lt;input type="submit" name="btn" value="Submit" class="btn btn-success success" /&gt; &lt;div id="blocking" class="blocking"&gt; &lt;div id="spinner" class"center loading"&gt;&lt;/div&gt;&lt;/div&gt; &lt;/form&gt; &lt;script&gt; function validateForm(){ document.getElementById("blocking").style.display = = 'block'; document.getElementById("spinner").style.display = = 'block'; } &lt;/script&gt; &lt;/body&gt; {% endblock %}</pre><p> 注意:相同的 CSS 代碼適用於另一個 HTML 文件。</p><p> 編輯:添加了 '.style.display' 但仍然相同,只有微調器顯示</p><pre class="lang-css prettyprint-override"> &lt;style type="text/css"&gt; #spinner { display: none; }.loading { border: 2px solid #ccc; width: 60px; height: 60px; border-radius: 50%; border-top-color: #1ecd97; border-left-color: #1ecd97; animation: spin 1s infinite ease-in; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } #blocking { display: none; }.blocking{ width: 100%; height: 100%; background: rgba(0,0,0,0.75) no repeat center center; } &lt;/style&gt;</pre></div> 延遲提交表格不起作用 提交表單前無法返回確認對話框 在以編程方式提交表單之前 提交前驗證表格 提交表單之前的Jquery 如果div為空,請延遲顯示按鈕…不起作用 div未提交表格 使用ajax提交表單不起作用 AJAX無法提交表格
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM