表单中的按钮字段

时间:2018-07-18 14:37:39

标签: javascript html forms

我想在窗体中创建2个按钮以在Windows和Mac系统之间进行选择。我想要的是在提交表单时我应该能够拥有一个名称字段name =“ system”,该名称字段具有用户选择的2个不同的值。当然我可以使用复选框或选择带有选项的标签来做到这一点,但是对于设计,我在质疑自己是否可以这样做?预先感谢

     <legend>With what system the data need to be compatible?</legend>
     <button type="button" class="system btn" name="systeme" value="windows">Windows</button>
     <button type="button" class="system btn" name="systeme" value="mac">Mac</button>

2 个答案:

答案 0 :(得分:0)

通过添加类标记所选按钮,并在提交表单时在表单中添加隐藏字段。

$(".system").on("click",function(){
    //if the clicked button is not already selected
    if( !$(this).hasClass("selected_system") ){
        //remove the "select" from other selected button
        $(".selected_system").removeClass("selected_system");
        //mark the current button as selected
        $("this").addClass("selected_system");
    }
});

现在提交表单时,将隐藏的输入字段附加到具有选定按钮值的表单上

$("form").submit(function(){
    var sel_button_val = $(".selected_system").val();
    $(this).append('<input type="hidden" name="system" value="'+sel_button_val+'"/>')
    $(this).submit();
});

答案 1 :(得分:0)

可以添加两个具有相同名称属性值的按钮,但是它不能在后端正常工作。当您使用name atrribute读取后端的表单字段时,如果您有多个按钮则返回值数组表单中具有相同的名称值。

您可以通过在提交表单之前根据所选按钮更新value属性来实现此目的。

希望,这将解决您的问题。