jQuery基于按钮单击更改表单操作

时间:2014-03-18 10:30:00

标签: javascript jquery forms pug

我正在尝试根据按钮点击更改我的玉器文件中的表单操作,"保存"和"删除"。

form(method='post', id='updateForm')
        label Course Number
        input(type='text', name='courseNum', value= courses[0].courseNum)
        br
        label Course Name
        input(type='text', name='courseName', value= courses[0].courseName
        br
        button#btnSave(type='button') SAVE
        button#btnDelete(type='button') DELETE

script.
    $('#btnDelete').click(function(){
        var action = $(this).val() == '/course/delete/'+courses[0].courseId;
        $('#updateForm').attr('action', action);
        $('#updateForm').submit();
    });
    $('#btnSave').click(function(){
        var action = $(this).val() == '/course/update/' + courses[0].courseId;
        $('#updateForm').attr('action', action);
        $('#updateForm').submit();
    });

输入值(课程项目)正确传递,因此我假设在脚本中它也正确传递。但是,为什么表单没有提交?没有显示任何操作。

我的脚本不正确吗?改变表单行为的最佳方法是什么?

感谢。

4 个答案:

答案 0 :(得分:2)

确定尝试以下操作:

var submitForm = function(method){
    //set form action based on the method passed in the click handler, update/delete
    var formAction = '/course/' + method + '/' + courses[0].courseId;
    //set form action
    $('#updateForm').attr('action', formAction);
    //submit form
    $('#updateForm').submit();
};

$(document)
.on('click', '#btnDelete', function(){
    //set your method - delete
    submitForm('delete');
})
.on('click', '#btnSave', function(){
    //set your method - update
    submitForm('update');
});

答案 1 :(得分:0)

我认为您的错误就在这一行:

var action = $(this).val() == '/course/delete/'+courses[0].courseId;

这里第一个等于(=)会将右边的部分分配给变量动作。一切都很好。然而 double 等于(==)正在测试$(this).val()是否等于右边的字符串(' / course / delete) /&#39 +课程[0] .courseId;)

看来你正在为行动分配一个布尔值。如果你想连接字符串,你需要这样的东西:

var action = $(this).val() + '/course/delete/' + courses[0].courseId;

如果那是你想要做的。如果没有,则发布错误消息,我们可以提供更多帮助。

答案 2 :(得分:-1)

form(method='post', id='updateForm')
        label Course Number
        input(type='text', name='courseNum', value= courses[0].courseNum)
        br
        label Course Name
        input(type='text', name='courseName', value= courses[0].courseName
        br
        button#btnSave(type='button') SAVE
        button#btnDelete(type='button') DELETE

脚本。

 $('#btnDelete').click(function(){
        var action = $(this).val() == '/course/delete/'+courses[0].courseId;
        $('#updateForm').attr('action', action);
        $('#updateForm').submit();
    });
$('#btnSave').click(function(){
    var action = $(this).val() == '/course/update/' + courses[0].courseId;
    $('#updateForm').attr('action', action);
    $('#updateForm').submit();
});

答案 3 :(得分:-2)

添加按钮类型以提交

button#btnSave(type='submit') SAVE