Wie vermeide ich das Absenden von Formularen?
P粉545218185
P粉545218185 2023-08-21 13:38:16
0
2
417

Ich habe irgendwo ein Formular mit einer Schaltfläche zum Senden.

Allerdings möchte ich das Commit-Ereignis irgendwie „abfangen“ und verhindern, dass es eintritt.

Gibt es eine Möglichkeit, dies zu tun?

Ich kann die Schaltfläche „Senden“ nicht ändern, da sie Teil eines benutzerdefinierten Steuerelements ist.

P粉545218185
P粉545218185

Antworte allen (2)
P粉463418483

您可以像这样使用内联事件onsubmit

或者

 

示例

现在,在开发大型项目时,这可能不是一个好主意。您可能需要使用事件监听器。

在这里阅读有关内联事件 vs 事件监听器(addEventListener和IE的attachEvent)的更多信息。因为我无法比Chris Baker解释得更好。

    P粉399585024

    与其他答案不同,返回false只是答案的部分。考虑在返回语句之前发生JS错误的情况...

    html

     ... 

    script

    function mySubmitFunction() { someBug() return false; }

    在这里返回false不会被执行,表单将以任何方式提交。您还应该调用preventDefault来阻止Ajax表单提交的默认操作。

    function mySubmitFunction(e) { e.preventDefault(); someBug(); return false; }

    在这种情况下,即使有错误,表单也不会被提交!

    或者,可以使用try...catch块。

    function mySubmit(e) { e.preventDefault(); try { someBug(); } catch (e) { throw new Error(e.message); } return false; }
      Neueste Downloads
      Mehr>
      Web-Effekte
      Quellcode der Website
      Website-Materialien
      Frontend-Vorlage
      Über uns Haftungsausschluss Sitemap
      Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!