以下表格是我网页的一部分:
<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()如下:
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不能正常工作?
发布于 2014-11-25 01:29:52
您的验证函数需要返回false以阻止表单提交。最好是有一个
onsubmit="return submitCollabForm()"
详情请参见With form validation: why onsubmit="return functionname()" instead of onsubmit="functionname()"?。
发布于 2014-11-25 02:01:28
不调用onsubmit
处理程序,因为表单不能通过任何正常方式提交,即不能引发submit
事件。只有一个提交控件,并且它被声明为禁用。
发布于 2019-04-22 04:24:44
如果你觉得所有的代码都是正确的,但它仍然不能工作,
要做的简单步骤,
1)在表单所在的同一页面创建一个脚本标签,创建一个函数,设置一个告警并测试。如果工作正常,请尝试执行以下步骤。
2)尝试检查javascript文件的路径。
3)如果path是正确的,那么更改您的javascript函数的名称有时您的name标签与您的函数名称冲突,并向其提交指针,因此您的调用无法到达您的函数。
这就发生在我身上。所以我把它贴在这里,希望能对某些人有所帮助。
https://stackoverflow.com/questions/27110492
复制相似问题