【发布时间】:2014-10-11 02:16:42
【问题描述】:
我有以下代码,它选择未选择的<select> 元素并阻止表单提交(如果有)。
$("form").submit(function() {
var count = 0;
var selectsWithNoValue = $("select:visible").filter(function() {
if (!this.value.length) {
sel = this.name;
if (count == 0) { alert ('Error ' + sel); ++count;}
}
return !this.value.length;
});
return !selectsWithNoValue.length;
});
完整代码在JSFiddle
是否可以找到与未选中的<select> 和“闪烁”最近的<div>(可能是几次快速闪烁,或突出显示直到用户在<div> 内单击 ) 以提醒用户他们应该修改哪个条目..?
我试过了:
$(this).closest("div").effect("highlight", {}, 3000);
使用此代码不起作用 - 所需的 <div> 不会闪烁,即使未设置选择,此代码也会导致表单提交。
知道怎么做吗?
【问题讨论】:
-
如果您想阻止表单提交,您需要在提交时检查表单的功能中
event.preventDefault()或return false。 -
嗨,如果未设置任何选择,则表单不会提交。这很好用。它正在寻找最近的 DIV 并突出显示我正在努力解决的问题。谢谢
-
那你为什么说:
... and the form submitted even if the select values were blank. -
对不起 - 我会更新我的问题。我的措辞很糟糕。
-
附带说明,您不会关闭许多
<p>和<select>标记...
标签: javascript jquery html css closest