如下,连接提交老是打开新窗口,而不能达到 按钮提交的效果,不知如何处理?
<div id="ajaxsub"></div>
@using (Ajax.BeginForm("ajaxtext", new {controller="home",id=UrlParameter.Optional },
new AjaxOptions { UpdateTargetId = "ajaxsub" },
new { name = "form001" }))
{
@Html.TextBox("input01", "内容")
@Html.TextBox("input02")
<a href="javascript:;" onclick="javascript:document.form001.submit();" target="_self" title="点击打开">点击打开</a>
<input type="submit" value="提交 ajax" />
}
你想点击<a> 是提交而不是真的打开新窗口,对吧,你可以查一下 ,jq有个preventDefault() 可以阻止元素的默认事件不执行:http://api.jquery.com/event.preventDefault/
但是那样,如何将表单执行后的结果更新呢? 我的意思是还是将 AJAX 表单执行的结果更新到 <div id="ajaxsub"></div>。
那个例子和 AJAX 表单没有关系。
用jquery阻止a的跳转,然后在js中,用ajax提交~
能否具体一下,试了,不行。
<script type="text/javascript">
function formSubmit() {
event.preventDefault();
document.getElementById("form001").submit();
}
</script>
@using (Ajax.BeginForm("ajaxtext", new {controller="home",id=UrlParameter.Optional },
new AjaxOptions { UpdateTargetId = "ajaxsub" },
new { id = "form001" }))
{
@Html.TextBox("input01", "内容")
@Html.TextBox("input02")
<a href="javascript:;" onclick="formSubmit();" target="_self" title="点击打开">点击打开</a>
<input type="submit" id="inputsss" name="inputsss" value="提交 ajax" />
}
$("a").click(function(e){ e.preventDefault(); $.post...//这样就行了啊~ });
@zhbj:
@幻天芒: 不行
@zhbj: 没有不行,我提供的只是思路,稍微处理下即可~
@幻天芒: 如何处理,还请好人做到底呀@!!
@幻天芒: 我实在是没辙了,这个问题耗费我几晚上的时间了!!
@zhbj: 有这么复杂?
把下面这段改下 :
<a href="javascript:;" onclick="javascript:document.form001.submit();" target="_self" title="点击打开">点击打开</a> 修改为: <a href="javascript:void(0);" onclick="javascript:document.form001.submit();" title="点击打开">点击打开</a>
@幻天芒:
拜托,能不能试验后再发? 如此修改,还是以新窗口打开,不能像 点击按钮一样的效果。
另外,javascript:; 和 javascript:void(0) ;是一样的。 看来,这个按钮是不能省了!!
@zhbj: 自己搞吧,不想解释了。只会是你的代码问题,而不是效果实现不了~。你就不能用开发工具栏看下?