当提交表单时更改Jquery的表单操作

3

我有一个基于Spring Web模型视图控制(MVC)框架的项目。Spring Web模型视图控制(MVC)框架的版本是3.2.8。 我想在提交按钮上更改表单操作。以下是我的代码,但它根本没有改变任何内容!

<script type="text/javascript">
    $('#awardProductsButton').click(function(){
       $('#devicesFormId').attr('action', 'test');
    });
</script>

<form:form commandName="devicesForm" name="devicesForm" id="devicesFormId" method="post"     
action="${contextPath}/newdesign/manage/devices/${devicesForm.devices.id" htmlEscape="yes" enctype="multipart/form-data">   

<button id="awardProductsButton" class="btn btn-primary" type="submit">AWARD product/s</button>

 </form:form>

我也尝试过

$('#awardProductsButtonId').submit(function(event){
            alert ('test');
            event.preventDefault();
            $('#deviceFormId').attr('action', '${contextPath}/newdesign/manage/device/${deviceForm.device.id}');
        });

但是即使警报也没有显示出来。


你尝试过从“button”标签中删除“type = submit”属性吗? - Phoenix404
1
可能是重复问题 - https://dev59.com/QmYq5IYBdhLWcg3wkRco - John Joseph
1
你的代码有效。https://jsfiddle.net/qc1fo7wq/ - Alexandru Severin
每次点击按钮时,您都会阻止提交并更改操作。然后,您需要实际提交表单。 - T J
可能是重复的问题:jQuery - prevent default, then continue default - T J
1个回答

5

你只需要使用 event.preventDefault().submit了解更多

<script type="text/javascript">
    $('#devicesFormId').submit(function(event){
       event.preventDefault()
       $('#devicesFormId').attr('action', 'test');
       //$(this).attr('action', 'test');
    });
</script>

2
只是好奇..为什么这不会变成一个无限循环?表格不会一直重新提交吗? - bos570
1
表单现在根本不会提交(因为preventDefault)...只有操作属性被更改。如果您还包括.submit(),将会出现递归。 - Melroy van den Berg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接