首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >未在HTML表单上调用onsubmit

未在HTML表单上调用onsubmit
EN

Stack Overflow用户
提问于 2014-11-25 01:22:04
回答 3查看 6K关注 0票数 0

以下表格是我网页的一部分:

代码语言:javascript
复制
<form id="collabAccess"  onsubmit="submitCollabForm()" >
         <div id="row-1">
              <div class="two-col" id="email"><input type="text" placeholder="Enter email addresses separated by commas"/></div>
                        <div id="collabSelect" class="collab two-col styled-select">
                            <select id="collabaccess">
                                <option>Can Read</option>
                                <option>Can Write</option>
                                <option>Can Read & Write </option>
                                <option>Administrator </option>
                            </select>
                        </div>
            </div>
            <div id="message">
                   <textarea id="personalMessage" cols="154" rows="10" placeholder="Optional: include a personal message"></textarea>
            </div>
               <div id="submit-wrapper"><input type="submit" value="Add Collaborators" id="addCollaborators" disabled='disabled'  class="small-btn disabled"/></div>
 </form>

函数submitCollabForm()如下:

代码语言:javascript
复制
function submitCollabForm() {
console.log('in submitCollabForm');
var valid = validateEmails();
if (valid == false) {
    var email = document.getElementById('email');
    email.addClass('error');
}

}

其中validateEmails()只是另一个js函数,用于验证表单中的电子邮件地址是否具有正确的格式。

然而,看起来onsubmit根本没有被调用。即使我将设置改为onsubmit="console.log('xyz'),也没有控制台语句被输出,我也检查了控制台中的javascript错误,但我什么也得不到。

有没有什么原因导致onsubmit不能正常工作?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-11-25 01:29:52

您的验证函数需要返回false以阻止表单提交。最好是有一个

代码语言:javascript
复制
onsubmit="return submitCollabForm()"

详情请参见With form validation: why onsubmit="return functionname()" instead of onsubmit="functionname()"?

票数 2
EN

Stack Overflow用户

发布于 2014-11-25 02:01:28

不调用onsubmit处理程序,因为表单不能通过任何正常方式提交,即不能引发submit事件。只有一个提交控件,并且它被声明为禁用。

票数 1
EN

Stack Overflow用户

发布于 2019-04-22 04:24:44

如果你觉得所有的代码都是正确的,但它仍然不能工作,

要做的简单步骤,

1)在表单所在的同一页面创建一个脚本标签,创建一个函数,设置一个告警并测试。如果工作正常,请尝试执行以下步骤。

2)尝试检查javascript文件的路径。

3)如果path是正确的,那么更改您的javascript函数的名称有时您的name标签与您的函数名称冲突,并向其提交指针,因此您的调用无法到达您的函数。

这就发生在我身上。所以我把它贴在这里,希望能对某些人有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27110492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档