函数未在 HTMLFormElement.onsubmit 中定义 [重复]
Posted
技术标签:
【中文标题】函数未在 HTMLFormElement.onsubmit 中定义 [重复]【英文标题】:function is not defined at HTMLFormElement.onsubmit [duplicate] 【发布时间】:2020-05-06 07:44:50 【问题描述】:我正在使用它正在工作的表单中的验证器。它会在应该显示消息的时候显示消息,但是在单击提交后,即使所有内容都有效,它也会显示以下错误消息:
未捕获的引用错误:未定义验证 在 htmlFormElement.onsubmit
<form id="details" class="add-listing-form" method="post" action="url('listing/'.$result->send_id.'/'.$step)" onsubmit="return Validate();" accept-charset='UTF-8'></form>
$('#details').validate(
rules:
'amenities[]':
required: true,
,
messages:
'amenities[]':
required: " __('messages.jquery_validation.required') ",
,
groups:
amenities: "amenities[]"
,
errorPlacement: function(error, element)
if (element.attr("name") == "amenities[]")
error.insertAfter("#at_least_one");
else
error.insertAfter(element);
,
);
【问题讨论】:
Validate()
函数定义在哪里?它没有显示在您的代码中。
这是一个laravel页面,是在调用所有其他脚本后定义的。
您能否在问题中添加一个示例。
【参考方案1】:
答案是我不需要这样做 onsubmit="return Validate();"从表单提交中删除!
【讨论】:
在这种情况下,问题是错字,问题最好删除 根据文档、标签的 wiki 页面以及 SO 标记的 jQuery Validate 上的 6000 多个问题,使用内联点击处理程序不是一个好的选择,也不会在提交时调用 validate 函数。事实上,单独使用 jQuery 就不需要任何内联事件处理程序。就像 Rory 说的,可能最好删除这整件事。谢谢。 是的罗伊,我有投票要删除【参考方案2】:你应该定义
function Validate()
...
在从 HTML 调用它之前在你的脚本中
【讨论】:
以上是关于函数未在 HTMLFormElement.onsubmit 中定义 [重复]的主要内容,如果未能解决你的问题,请参考以下文章