Javascript 单击后禁用超链接
我有一个经典的ASP表单,其中有一个超链接,如下所示。Javascript 单击后禁用超链接,javascript,hyperlink,Javascript,Hyperlink,我有一个经典的ASP表单,其中有一个超链接,如下所示。 如果验证为true,ProcessForm()将表单提交到另一个页面 function ProcessForm() { if (validateform() == true) { document.form1.action = "abc.asp"; document.form1.submit(); } 如果验证为真,我如何在单击一次后禁用超链接?尝试为超链接添加id并将其禁用,然后文本变灰,但单击变灰的文本时,页
如果验证为true,ProcessForm()将表单提交到另一个页面
function ProcessForm() {
if (validateform() == true) {
document.form1.action = "abc.asp";
document.form1.submit();
}
如果验证为真,我如何在单击一次后禁用超链接?尝试为超链接添加id并将其禁用,然后文本变灰,但单击变灰的文本时,页面会被提交多次。还尝试了return false onclick。
请建议。设置一个全局标志:
var hasSubmittedForm = false;
然后检查该标志:
function ProcessForm() {
if (hasSubmittedForm) return false;
else hasSubmittedForm = true;
if (validateform() == true) {
document.form1.action = "abc.asp";
document.form1.submit();
}
}
您可以使用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>
$(文档).ready(函数($){
$(“#RemoveLink”)。单击(函数(){
var url=$(this.attr('href');
窗口打开(url);
$(“#RemoveLink”).removeAttr(“href”);
});
});
经过测试并正常工作,如果这不是您想要的功能,请告诉我,或者将我的答案标记为您问题的答案;) 在链接中添加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>
在流程调用之后,您是否尝试删除链接而不是禁用它<代码>$('#link_id').attr('href','')代码>:谢谢你的回复。已尝试此操作。但它仅在验证为真时才起作用,而且在多次单击的情况下,即使它只创建了一条记录,也会显示一个只有“false”的页面。验证失败时,将禁用链接,用户无法再次单击该链接。在这里,如果处理成功,页面abc.asp将调用页面xyz.asp。请suggest@Tonny斯泰克:谢谢你的回复。但是这里ahref调用的是一个js函数,而不是打开一个新的页面,请您包含验证失败时要处理的代码,它应该允许用户再次单击。@SoftCrearR:谢谢您的回复。此代码没有使表单提交。它只是停留在那里。