English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Diversi metodi di invio dei moduli con JS e validazione (articolo obbligatorio)

Rilevato durante il lavoro che il modulo di invio è conveniente, molte volte funziona bene sotto IE, ma sotto Firefox si verificano problemi, l'invio tramite pulsante non funziona, quindi l'uso di JavaScript è stato efficace, non si sa il motivo. Sotto la pressione del tutor, è stata riassunta la seguente serie di metodi di invio del modulo comuni.

Primo metodo:Invio del modulo, aggiungere l'evento onsubmit nel tag form per determinare se l'invio del modulo è stato eseguito con successo

<script type="text/javascript">
   function validate(obj) {
    if (confirm("提交表单?")) {
      alert(obj.value);
      return true;
    } else {
      alert(obj.value);
      return false;
    }
   }
 </script>
 <body>
  <form action="https://it.oldtoolbag.com" onsubmit="return validate(document.getElementByIdx_x('myText'));"> <!—Attenzione al modo di scrivere i parametri-->
    <input type="text" id="myText"/>
    <input type="submit" value="submit"/>
  </form>
</body>

Secondo metodo:Tramite il pulsante button per attivare l'evento di invio del modulo onclick="submitForm();" viene ignorato l'attributo di altri tag, come l'attributo onsubmit del tag form che diventa inattivo. In questo caso, per eseguire la convalida del modulo, è possibile inserire il codice di convalida nel metodo submitForm();

<script type="text/javascript">
   function validate() {
    if (confirm("提交表单?")) {
      return true;
    } else {
      return false;
    }
   }
   function submitForm() {
    if (validate()) {
      document.getElementByIdx_x("myForm").submit();
    }
   }
 </script>
 <body>
  <form action="https://it.oldtoolbag.com" id="myForm">
    <input type="text"/>
    <input type="button" value="submitBtn" onclick="submitForm();"/> <!—È anche possibile eseguire l'evento onclick utilizzando document.getElementByIdx_x(“l'id del pulsante”).click();-->
  </form>
</body>

Terzo metodo:Mettere l'evento onsubmit nel tag submit, non nel tag form, in questo caso la convalida del modulo non funziona e il modulo viene inviato direttamente quando si clicca sul pulsante di invio

<script type="text/javascript">
   function validate() {
    if (confirm("提交表单?")) {
      return true;
    } else {
      return false;
    }
   }
 </script>
 <body>
  <form action="https://it.oldtoolbag.com">
    <input type="text"/>
    <input type="submit" value="submit" onsubmit="return validate()"/>
  </form>
</body>

Quarto metodo:Aggiungere l'evento onclick al pulsante submit, che viene utilizzato per la convalida del modulo di invio, funziona allo stesso modo dell'aggiunta dell'evento onsubmit nel tag form

<script type="text/javascript">
   function validate() {
    if (confirm("提交表单?")) {
      return true;
    } else {
      return false;
    }
   }
 </script>
 <body>
  <form action="https://it.oldtoolbag.com">
    <input type="text"/>
    <input type="submit" value="submit" onclick="return validate()"/>
  </form>
</body>

第五种方式:

<body>
  <form action="https://it.oldtoolbag.com" id="myForm">
  <input type="text"/>
  <input type="button" value="submitBtn" id="myBtn"/>
  </form>
 </body>
  <script type="text/javascript">
   function validate() {
      if (confirm("提交表单?")) {
        return true;
      } else {
        return false;
      }
}

通过button按钮来触发表单提交事件onclick="submitForm();",会忽略掉其他标签中的属性,比如form标签中的onsubmit属性就失效了。这时为了进行表单验证,可以将验证代码放在submitForm();方法中进行验证

function submitForm() {
      if (validate()) {
        document.getElementByIdx_x("myForm").submit();
      }
   }
   document.getElementByIdx_x("myBtn").onclick = submitForm;
</script>

以上这篇关于使用JavaScript提交表单的几种方法和验证(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

Ti potrebbe interessare