我有经典的ASP表单,因为有一个如下的超链接。
<A href="javascript:ProcessForm()" >go here</A>
如果验证为真,ProcessForm()会将表单提交到另一个页面。
function ProcessForm() {
if (validateform() == true) {
document.form1.action = "abc.asp";
document.form1.submit();
}
如果验证为真,如何在单击后禁用超链接?尝试为超链接添加一个id并禁用它,然后文本变灰,但点击灰色文本后,页面会多次提交。还尝试了返回false onclick。 请建议。
答案 0 :(得分:0)
设置全局标记:
var hasSubmittedForm = false;
然后检查那个标志:
function ProcessForm() {
if (hasSubmittedForm) return false;
else hasSubmittedForm = true;
if (validateform() == true) {
document.form1.action = "abc.asp";
document.form1.submit();
}
}
答案 1 :(得分:0)
在链接中添加onclick事件:
<form name="form1" method="post" action="">
<a href="" onclick="ProcessForm(this);">go here</a>
</form>
<script type="text/javascript>
function validateform() {
return true;
}
function ProcessForm(link) {
if (validateform() == true) {
link.removeAttribute('href');
document.form1.action = 'abc.asp';
document.form1.submit();
}
}
</script>
答案 2 :(得分:-1)
你可以像这样使用jQuery:
你走了:
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function($){
$("#RemoveLink").click(function() {
var url = $(this).attr('href');
window.open(url);
$("#RemoveLink").removeAttr("href");
});
});
</script>
<a href="http://www.google.bg/" id="RemoveLink">go here</a>
经过测试和工作,请告诉我这不是您想要的功能,或将我的答案标记为您的问题的答案;)