表格未完成时如何提醒

Posted

技术标签:

【中文标题】表格未完成时如何提醒【英文标题】:How can I do alert when form isn't complete 【发布时间】:2020-11-20 13:30:06 【问题描述】:

我实际上是在我的计算机课上,我有一个我无法理解的工作。我的 html 页面中有一个滚动表单和一个函数,它显示表单是否已完成,但现在我需要创建一个警报,但表单是否已完成的条件每次都保持为真。 这是我的html:

<html> 
    <head> 
        <meta charset="utf-8" />
        <link rel="stylesheet" href="styles.css" />
        <script type="text/javascript" src="./ScriptListeDeroulante.js"></script>
        <title>Formulaire</title>
    </head> 
    <body>  
        <h1>Formulaire avec une liste déroulante</h1>
        <form action="http://www.cyberlycee.fr/NSI/Resultat_Fiche.php" method="post">
            <div class="entree">
                <label>Sélectionner votre classe : 
                    <select name="LaClasse">';
                        <option value="">Sélectionner</option>';
                        <option value="709">Classe 709</option>';
                        <option value="710">Classe 710</option>';
                    </select>
                </label>
                <span id="AlerteLaClasse" class="Alerte"></span>
            </div>
            
            <div><input type="button" name="bouton" value="Envoyer" onclick="VerifierFormulaire(this.form)"></div>
            
        </form>
    </body>
</html>


这是我的 JS:

function AfficherMessage(formulaire)
    let valide=true;
    if(formulaire.LaClasse.value==='700') 
        document.getElementById("AlerteLaClasse").textContent = " Vous avez sélectionnez la 700 !";
        valide=false;
    
    else document.getElementById("AlerteLaClasse").textContent = "";
    
    return valide;


function VerifierFormulaire(formulaire)
    // cette fonction vérifie le formulaire puis le soumet si OK
    let ok = AfficherMessage(formulaire);
    //let ok = false;
    if (ok) formulaire.submit();
    else alert("Le formulaire n'est pas complet");

【问题讨论】:

【参考方案1】:

您的代码运行良好。请检查以下。我有一些额外的警报。您的选择没有 700 作为值,所以我添加了一个,选择它并检查。

function AfficherMessage(formulaire) 
  let valide = true;
  if (formulaire.LaClasse.value === '700') 
  alert('Selected 700');
    document.getElementById("AlerteLaClasse").textContent = " Vous avez sélectionnez la 700 !";
    valide = false;
   else 
  alert('Did not select 700');
  document.getElementById("AlerteLaClasse").textContent = "";

  return valide;


function VerifierFormulaire(formulaire) 
  // cette fonction vérifie le formulaire puis le soumet si OK
  let ok = AfficherMessage(formulaire);
  //let ok = false;
  if (ok) formulaire.submit();
  else alert("Le formulaire n'est pas complet");
<html>

<head>
  <meta charset="utf-8" />
  <title>Formulaire</title>
</head>

<body>
  <h1>Formulaire avec une liste déroulante</h1>
  <form action="http://www.cyberlycee.fr/NSI/Resultat_Fiche.php" method="post">
    <div class="entree">
      <label>Sélectionner votre classe : 
                    <select name="LaClasse">';
                        <option value="">Sélectionner</option>';
                        <option value="709">Classe 709</option>';
                        <option value="710">Classe 710</option>';
                         <option value="700">Classe 700</option>';
                    </select>
                </label>
      <span id="AlerteLaClasse" class="Alerte"></span>
    </div>

    <div><input type="button" name="bouton" value="Envoyer" onclick="VerifierFormulaire(this.form)"></div>

  </form>
</body>

</html>

【讨论】:

谢谢,我想在选择任何内容时创建类似于警报的内容。不只是在没有 700 的时候。 if( ! formulaire.LaClasse.value) alert('Please select something'); else alert('Selected'); 应该适合你 你也可以if( formulaire.LaClasse.value === '') alert('Please select something'); 【参考方案2】:
    else 后面缺少左括号。 这可能只是一个建议,但我会在开始时将 valide 设置为 false,因为一开始您不知道表单是否有效。

【讨论】:

谢谢我正在尝试!

以上是关于表格未完成时如何提醒的主要内容,如果未能解决你的问题,请参考以下文章

Mongoose:查询未完成时如何findById

Mongoose:查询未完成时如何findById

如何防止 jQuery 悬停事件在未完成时触发?

苹果开发者会员到期提醒未删除

AWS AppSync 如何在我离线时判断是不是存在未完成的突变?

浏览器并发连接数(未完成)