我想更改表单提交的URL,点击如下所示。以下是我试过的但是不行。
<form action="" method="post" class="form-horizontal" id="contactsForm" enctype="multipart/form-data"> <div class="widget-content"> <div class="btn-group"> <button data-toggle="dropdown" class="btn dropdown-toggle"> <span class="icon-folder-open icon-large"></span> Move To <span class="caret"></span> </button> <ul class="dropdown-menu"> {% for x,y in actionsForm.fields.move_to.choices %} <li><a class="move_to" id="{{ x }}" href="#">{{ y }}</a></li> {% endfor %} <script> $(document).ready(function() { $(".move_to").on("click",function () { $('#contactsFrom').attr('action',"/test1"); $("#contactsFrom").submit(); e.preventDefault(); }); }); </script>
解决方法
尝试使用这个:
$(".move_to").on("click",function(e){ e.preventDefault(); $('#contactsForm').attr('action',"/test1").submit(); });
移动您使用的顺序.preventDefault()可能会解决您的问题。你也没有使用函数(e),所以e.preventDefault();没有工作。
这里正在工作:http://jsfiddle.net/TfTwe/1/ – 首先,点击“检查动作属性”。链接。你会得到一个警报说未定义。然后点击“设置操作属性”。并单击“检查操作属性”。再次。您将看到窗体的动作属性已正确设置为/ test1。