使用多个按钮进行JQuery验证

时间:2017-05-23 08:20:50

标签: javascript php jquery html forms

我有一个带有多个按钮的表单,可以点击,它目前由php处理。按钮的当前代码是:

<button id="btn_back" class='ym-button ym-success' name="action_back">Back</button>

<button id="btn_finish" class='ym-button ym-success' name="action_finish">Place Order</button>

在php上处理如下:

if (isset($_POST['action_back'])) {
    ...
}

if (isset($_POST['action_finish'])) {
    ...
}

现在我想在发送表单之前为其中一个按钮(action_finish)添加JQuery验证,但是如何保持关于单击哪个按钮的信息很困难。我不想通过添加一个隐藏字段来使html部分过于复杂,并且最好其他按钮应该以正常方式提交而不需要JS干预。

我的js代码是这样的:

$(document).ready(function() {

    console.log("init");

    $("#btn_finish").click(function () {
        console.log("clicking finish");

        // validation
        ...

        $("#form1").submit();
    });

});

不知何故,我需要阻止提交此按钮单击,但POST字段'action_finish'应该保留或使用JS添加回来。

1 个答案:

答案 0 :(得分:0)

据我所知,你应该在点击功能后使用preventDefault():

<DataGridTextColumn Binding="{Binding Path=., Converter={StaticResource GooglePositionConvertor}}">
    <DataGridTextColumn.CellStyle>
        <Style TargetType="{x:Type DataGridCell}">
            <Setter Property="Foreground" Value="{Binding Path=Content, RelativeSource={RelativeSource Self}, 
                Converter={StaticResource ChangeBrushColour}}"/>
        </Style>
    </DataGridTextColumn.CellStyle>
</DataGridTextColumn>

这会停止表单提交,因此您可以在此之后进行检查,并在一切正常时最终提交表单。这会解决您的问题吗?