我为表单中的所有字段设置了一个必填字段,并有两个提交按钮。 并希望只为一个提交所需的数据。在另一个提交中,我不希望表单字段需要如何防止另一个提交按钮中的请求字段。
<form action="data.php">
name<input type="text" name="name" required>
std<input type="text" name="name" required>
class<input type="text" name="name" required>
<input type="submit" name="submit" value="submit">
<input type="reset" name="reset" value="clear">
<input type="save" name="save" value="save">
</form>
在这个给定的代码中,只有当我点击提交时,必填字段才会发出警告。并且点击保存时不提醒它是否可行
答案 0 :(得分:0)
您可以考虑根据按下的按钮捕获提交事件并进行不同的检查。另请注意,必需属性将始终使您的输入真正需要。在这里,我使用了一个没有特殊属性的自定义属性,但我会用它在我的自定义代码中识别需要哪些字段。
以下是使用jQuery在Javascript中的样子:
<form id="your_form" action="data.php">
name<input type="text" name="name" is_required>
std<input type="text" name="name">
class<input type="text" name="name" is_required>
<br />
<input type="submit" name="submit2" value="submit">
</form>
<input type="submit" name="submit" value="submit with check">
var ok;
$('[name=submit]').on('click', function(e) {
ok = true;
$('[is_required]').each(function() {
if (!$(this).val()) ok = false;
});
if (!ok) {
alert("Please fill in all the required fields");
} else
$("#your_form").submit();
});
您可以在此处看到此代码:http://jsfiddle.net/z9dkjdtz/
答案 1 :(得分:0)
使用按钮中的formnovalidate
属性来指定正常的HTML5表单验证(例如检查所有required
字段是否有值)被禁止:
<input type="submit" name="save" value="save" formnovalidate>
注意:type="save"
无效并被忽略,因此该元素将创建一个文本输入框(因为type="text"
是默认值)。