我使用 AJAX 将包含表单的外部 HTML 文件加载到另一个 HTML 文件中。表单 HTML 看起来像这样:
<form id="..." name="..." onsubmit="postUsingAJAX(x,y,x); return false;">
加载正常。但是,提交表单时不会执行 onSubmit
代码,这与提交按钮上的 onClick
处理程序相同;似乎没有事件监听器被触发。这是通过 AJAX 加载 HTML 时的工作方式还是我做错了什么?
一个可能的解决方法是:
theFormObject.addEventListener('submit', function...)
但我不知道如何让表单在触发回调后不提交。我怎样才能让它等待返回值(或者更确切地说,无论回调函数中发生什么,都让它“返回 false”)?
有什么想法吗?
最佳答案
它看起来像是函数 postUsingAJAX 中的一个错误。代码“return false”不会执行。要在出错后继续正常工作,您应该使用 try..catch 语句。示例:
function postUsingAJAX() { try { // dangerous code } catch (e) { // report about error } } <form onsubmit="postUsingAJAX(); return false;">
关于javascript - onSubmit 未在加载 AJAX 的表单上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1474077/