jQuery:如何在提交之前更改多个表单属性

时间:2014-10-19 19:46:33

标签: javascript jquery forms

我试图使用jQuery操作表单提交和几个提交按钮。代码如下:

    <form id="cf" action="" method="POST" target="">
        <button id="preview">Preview</button>
        <button name="submit" id="submit">Save</button>
    </form>
    <script>
        $("#preview").on("click",function(e) {  
            $(this).attr('name','submit');
            e.preventDefault();         
            $("#cf").attr({
                    'action':'/preview/',
                    'target':'_blank'
                }).submit();
        });
    </script>

更改属性值似乎在&#34;预览&#34;单击按钮,但它没有提交。代码有什么问题?

1 个答案:

答案 0 :(得分:3)

每个表单都附有一个提交功能,它被引用为form.submit

当您在表单submit中命名时,它也会附加到表单上,并覆盖原生form.submit,因此无法再使用提交函数提交表单。

将按钮重命名为submit以外的任何内容,然后删除将名称设置为submit

的行
<form id="cf" action="" method="POST" target="">
    <button id="preview">Preview</button>
    <button name="my_submit" id="my_submit">Save</button>
</form>
<script>
    $("#preview").on("click",function(e) {  
        e.preventDefault();         

        $("#cf").attr({
                'action':'/preview/',
                'target':'_blank'
        }).submit();
    });
</script>