必填字段,同一表格中有两个提交按钮

时间:2014-10-02 06:53:59

标签: javascript php html

我为表单中的所有字段设置了一个必填字段,并有两个提交按钮。      并希望只为一个提交所需的数据。在另一个提交中,我不希望表单字段需要如何防止另一个提交按钮中的请求字段。

<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>

在这个给定的代码中,只有当我点击提交时,必填字段才会发出警告。并且点击保存时不提醒它是否可行

2 个答案:

答案 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"是默认值)。