使用jQuery动态更改操作值时无法提交表单

时间:2014-11-07 05:16:45

标签: jquery html twitter-bootstrap validation

我正在使用Bootstrap进行设计和表单验证。

使用JavaScript / jQuery动态更改表单操作时遇到问题。提交按钮后,没有任何反应,提交按钮被禁用。

这是我的jQuery代码:

$('.btnSaveQuery').on('click', function(){
        $('#formId').attr('action', 'saveQuery').submit();
});

这是我的HTML表单代码:

<form id="formId" method="POST" class="form-horizontal">
    <div class="form-group">
        <div class="col-sm-4">
            <input name="name" class="form-control" placeholder="name" />
        </div>
        <div class="col-sm-4">
            <input name="description" class='form-control'
                placeholder="description" required autofocus />
        </div>
    </div>

    <div class="form-group">
        <div class="col-sm-9 col-sm-offset-3">
            <button type="submit" class="btn btn-success   btnSaveQuery">Save</button>
        </div>
    </div>
</form>

2 个答案:

答案 0 :(得分:2)

请在代码中使用return false

$(".btnSaveQuery").on('click', function() {
   $('#formId').attr("action", "saveQuery")
});

答案 1 :(得分:2)

修复它的多种方法。要么不使用type="submit",要么不通过代码提交。表格实际上是默认提交的。

你可以这样做

<button class="btn btn-success btnSaveQuery" onclick="submitForm()">Save</button>

<script>
function submitForm()
{
$('#formId').attr('action', 'saveQuery').submit();
}
</script>

或者在提交之前更改操作...例如页面加载..

------------- ---------------

我没有经过测试,但是可能会根据您的意愿为您提供服务

$(".btnSaveQuery").on('click', function() {
   $('#formId').attr("action", "saveQuery");// do not submit. Its done by default
});

注意:确保saveQuery(url)应该存在