Keh*_*mme 9 html forms asp.net-mvc razor
我正在将现有网站转换为使用MVC和实体框架.
布局/样式应该保持不变,并且为了遵循该指南,我需要使用<a>标签提交我的登录表单,因为它具有按钮的自定义图像.
这是我的表格:
@using (Html.BeginForm("Login", "Login", FormMethod.Post, new { id = "login", action = "Login" }))
{
<label>
<span>Username
</span>
<input type="text" name="UserName" id="UserName" class="input-text required" />
</label>
<label>
<span>Password
</span>
<input type="password" name="Password" id="Password" class="input-text required" />
</label>
<label>
<input type="checkbox" name="RememberMe" id="RememberMe" class="check-box" />
<span class="checkboxlabel">Remember Me</span>
</label>
<div class="spacer">
<a href="javascript:void(0)" onclick="login();" class="login-button"></a>
</div>
}
Run Code Online (Sandbox Code Playgroud)
如您所见,<a>标签以前使用javascript提交了登录信息.这不是我想要完成的.
如何更改该标签以将我的表单提交给我的控制器操作?
Gök*_*gin 10
我做了一些小改动
HTML
<form action="test.aspx" type="POST">
<label>
<span>Username</span>
<input type="text" name="UserName" id="UserName" class="input-text required" />
</label>
<label>
<span>Password</span>
<input type="password" name="Password" id="Password" class="input-text required" />
</label>
<label>
<input type="checkbox" name="RememberMe" id="RememberMe" class="check-box" />
<span class="checkboxlabel">Remember Me</span>
</label>
<div class="spacer">
<a href="javascript:void(0)" class="login-button">Login</a>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
jQuery的
$(document).ready(function(){
$(document).on("click",".login-button",function(){
var form = $(this).closest("form");
//console.log(form);
form.submit();
});
});
Run Code Online (Sandbox Code Playgroud)
通常你不想在html标签中放入大量的javascript,但如果这只在你的解决方案中出现一次,那就没问题了.但是,如果有需要使用Gokan的解决方案发布的锚标签将更好地使用标记类和一些常见的javascript.
将您的锚标记更改为更像这样:
<a href="javascript:$('form').submit();" class="login-button"></a>
Run Code Online (Sandbox Code Playgroud)