繁体   English   中英

Javascript onSubmit不返回false

[英]Javascript onSubmit not returning false

我的onsubmit代码有问题。 我正在使用第三方公司的计算器,并且在提交表单时尝试触发一些JavaScript。 警报将触发,但是如果我将return设置为false,则仍将提交表单。

这是我在自己的环境中使用的代码行: document.getElementsByTagName("Form")[3].onsubmit = function () { alert('Test'); return false; }; document.getElementsByTagName("Form")[3].onsubmit = function () { alert('Test'); return false; };

我已经建立了这里的副本:(对于什么都理它不会加载在片段中,我复制相同的代码到我的服务器,它工作正常,所以这里是它在行动。

 function myFunction() { document.getElementsByTagName("Form")[0].onsubmit = function () { alert('Test'); return false; }; } 
 <button onclick="myFunction()">Wait for script to load then press this button to add the onsubmit, then you can press calculate</button> <script src="https://calculators.symmetry.com/widget/js/salary.js?key=RHA0Slc2ZjEydjNkR0Y2eTEvOUxpZz09"></script> 

我还没有弄清楚如何对脚本执行onload检测,因此这就是为什么您必须等待脚本加载然后按按钮插入javascript的原因。

谢谢你的帮助。

嗯..在您的解决方案中,您要在每次单击按钮时向表单添加一个新的事件处理程序。

而不是在页面加载时声明事件处理程序然后触发它

它应该是....

<script>
    function onMyPageLoaded()
    {
         document.getElementsByTagName("Form")[0].onsubmit = function (e) 
         { 
              e.preventDefault();

              // place your code here

              return false; // cancel form submit
         };
    }

    function doSomething() // use this ONLY if you intend to by-pass the native submit mechanism
    {
      document.getElementsByTagName("Form")[0].submit(); // trigger the event here
    }
</script>

<body onload="onMyPageLoaded()">
    <form>
        <button type="submit">send</button>
    </form>
</body>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM