Mik*_*ike 4 asp.net-mvc jquery asp.net-mvc-3
我的页面上有一个表单,如下所示:
<form action="/home/email" enctype="multipart/form-data" id="email-form" method="post">
// form elements
</form>
Run Code Online (Sandbox Code Playgroud)
根据页面的不同,我想用jQuery动态更改表单的属性; 特别是动作属性.
$('#send-email').click(function () {
$('#email-form').attr('action', '@Url.Action("emailaccounting", "home")')
)};
Run Code Online (Sandbox Code Playgroud)
上面的jQuery成功呈现为:
<form action="/home/emailaccounting" enctype="multipart/form-data" id="email-form" method="post">
// form elements
</form>
Run Code Online (Sandbox Code Playgroud)
因此,当单击打开弹出窗体以发送电子邮件的链接时,我可以更改表单属性.但是,当我提交表单时,被击中的动作是原始 - "电子邮件"而非"电子邮件帐户".
我玩了很多,并在电子邮件表单的提交点击处理程序,我添加了以下内容:
$('.send-email').click(function (e) {
// The original form action post will be hit without this...
e.preventDefault();
$('#email-form').submit();
};
Run Code Online (Sandbox Code Playgroud)
通过上面的代码片段,可以调用正确的操作 - "emailaccounting".为什么?我不知道......我希望有人可以解释一下.但我还没有走出困境 - 我有一个输入元素来上传文件.现在,当我尝试在之前工作的同一表单上上传文件时,我点击提交,然后转到"电子邮件"操作.如果我不尝试上传文件,则会触发"电子邮件帐户"操作.
谢谢!
小智 6
我在下面试过,它对我有用
$('#send-email').click(function () {
$('#email-form').attr('action', '/home/emailaccounting')
)};
Run Code Online (Sandbox Code Playgroud)
尝试这样的事情:
$('#email-form').attr('action', '<%= Url.Action("emailaccounting", "home") %>');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9207 次 |
| 最近记录: |