Heim  >  Fragen und Antworten  >  Hauptteil

JavaScript-Code, der die Formularübermittlung verhindert

<p>Eine Möglichkeit, die Formularübermittlung zu stoppen, besteht darin, von Ihrer JavaScript-Funktion „false“ zurückzugeben. </p> <p>Wenn auf die Schaltfläche „Senden“ geklickt wird, wird eine Validierungsfunktion aufgerufen. Ich habe eine Bedingung in der Formularvalidierung. Wenn diese Bedingung erfüllt ist, rufe ich eine Funktion namens <strong>returnToPreviousPage();</strong> auf. </p> <pre class="brush:php;toolbar:false;">function returnToPreviousPage() { window.history.back(); }</pre> <p>Ich verwende JavaScript und das Dojo Toolkit. </p> <p>Anstatt zur vorherigen Seite zurückzukehren, wird das Formular gesendet. Wie kann ich diese Übermittlung abbrechen und zur vorherigen Seite zurückkehren? </p>
P粉163465905P粉163465905401 Tage vor467

Antworte allen(2)Ich werde antworten

  • P粉457445858

    P粉4574458582023-08-21 12:43:06

    使用prevent default

    Dojo Toolkit

    dojo.connect(form, "onsubmit", function(evt) {
        evt.preventDefault();
        window.history.back();
    });

    jQuery

    $('#form').submit(function (evt) {
        evt.preventDefault();
        window.history.back();
    });

    Vanilla JavaScript

    if (element.addEventListener) {
        element.addEventListener("submit", function(evt) {
            evt.preventDefault();
            window.history.back();
        }, true);
    }
    else {
        element.attachEvent('onsubmit', function(evt){
            evt.preventDefault();
            window.history.back();
        });
    }

    Antwort
    0
  • P粉794851975

    P粉7948519752023-08-21 10:22:41

    您可以使用函数的返回值来阻止表单的提交

    <form name="myForm" onsubmit="return validateMyForm();">

    并且函数如下:

    <script type="text/javascript">
    function validateMyForm()
    {
      if(check if your conditions are not satisfying)
      { 
        alert("validation failed false");
        returnToPreviousPage();
        return false;
      }
    
      alert("validations passed");
      return true;
    }
    </script>

    如果在Chrome 27.0.1453.116 m中上述代码不起作用,请将事件处理程序的参数returnValue字段设置为false

    感谢Sam分享信息。

    编辑:

    感谢Vikram提供的解决方法,如果validateMyForm()返回false:

    <form onsubmit="event.preventDefault(); validateMyForm();">

    其中validateMyForm()是一个在验证失败时返回false的函数。关键点是使用名称event。我们不能使用例如e.preventDefault()

    Antwort
    0
  • StornierenAntwort