Javascript 检测提交表单时未验证的必填字段的名称
我用html5创建了一个表单,如下示例所示:Javascript 检测提交表单时未验证的必填字段的名称,javascript,jquery,html,forms,form-submit,Javascript,Jquery,Html,Forms,Form Submit,我用html5创建了一个表单,如下示例所示: <form action="/my/url/insert.php" method="POST"> <div class="row"> name <input name="name" required/> </div> <div class="row"> type <input name="type" requi
<form action="/my/url/insert.php" method="POST">
<div class="row">
name <input name="name" required/>
</div>
<div class="row">
type <input name="type" required/>
</div>
<div class="row">
year <input name="year" required/>
</div>
....
<div class="row">
album <input name="album" required/>
</div>
<div class="row">
<input type="submit" value="Save"/>
</div>
</form>
<script>
$('form').submit(function(){
console.log('test');
});
</script>
问题是:
我想检测提交和记录时未验证的必填字段的名称
例如:如果我在提交时没有填写输入相册,我会在需要一个字段的消息之前检测到它
有办法做到这一点吗
谢谢。给你。。循环遍历每个input:required字段,并使用.attr获取其名称 $'form'.submitFunction{ e、 防止违约; $this.find'input:required'。每个函数{ log$this.attr'name'; } }; 名称 类型 年 .... 专辑 按所需的属性选择它们: 要自己做一个简单的必需检查,请创建一个简单的非空条件。但是对于这一点,您的表单需要novalidate类,否则将不会触发提交回调,并且不会发生任何事情
$(function() {
$('form').submit(function(){
$("input:required", $(this)).each(function() {
if( $(this).val() != "" )
console.log($(this).attr("name"));
});
});
});
这里的完整示例:您也可以这样做:
<form action="/my/url/insert.php" method="POST" onSubmit="return myFunction()">
<div class="row">
<!--I am only giving id to one to show an exmaple you can give to differnt-->
name <input name="name" id="some" required/>
</div>
<div class="row">
type <input name="type" required/>
</div>
<div class="row">
year <input name="year" required/>
</div>
....
<div class="row">
album <input name="album" required/>
</div>
<div class="row">
<input type="submit" value="Save"/>
</div>
</form>
<script>
function myFunction() {
var x = document.getElementById('some').value;
if (x == "" || x == null) {
alert('sadsd');
return false;
//You can give anything else than alert
}
}
使用:必填选择器或哪个必填字段?您有几个。@Utkanos:只有未验证的输入如果您不想表单验证,请在表单中使用novalidate属性。如果有任何未验证的输入,将永远不会触发提交。所以你的问题没用。给我们一些你想使用它的例子。否则,循环所有输入一个look witch不是空的。谢谢你的回答。但我只搜索没有验证的输入,将内部选择器设置为上下文,以防止元素出现在表单之外。$'input:required'、$this或$this.find'input:required'。@GuruprasadRao:我对其进行了测试,但在我填写所有必需的输入之前,从未调用submit。
<form action="/my/url/insert.php" method="POST" onSubmit="return myFunction()">
<div class="row">
<!--I am only giving id to one to show an exmaple you can give to differnt-->
name <input name="name" id="some" required/>
</div>
<div class="row">
type <input name="type" required/>
</div>
<div class="row">
year <input name="year" required/>
</div>
....
<div class="row">
album <input name="album" required/>
</div>
<div class="row">
<input type="submit" value="Save"/>
</div>
</form>
<script>
function myFunction() {
var x = document.getElementById('some').value;
if (x == "" || x == null) {
alert('sadsd');
return false;
//You can give anything else than alert
}
}