2014-10-19 75 views
0

我试图操纵表单提交使用jQuery提交按钮的几个。代码如下所示: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> 

单击“预览”按钮时,更改属性值似乎工作,但它不提交。代码有什么问题?

+1

您形式的'id'应该是' “CF”''没有 “#cf”'。 '$(“#cf”)'中的'#'表示“通过id#后面的'#'”进行选择。 – 2014-10-19 19:49:55

+0

您的按钮覆盖'form.submit',因为它被命名为'submit',更改按钮的名称,它将起作用。 – adeneo 2014-10-19 19:55:23

+0

@Paul Roub对不起,错字。 – netizen0911 2014-10-19 19:55:34

回答

3

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

当您在submit表格中指定名称时,它也会被附加到表格中,并覆盖原生form.submit,因此无法再使用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> 
相关问题