2015-05-12 28 views
3

我创建了一个链接,它发送一个删除servlet记录的请求。我想在javascript的帮助下删除同一页面上的记录之前要求确认消息。问题是我是否点击是或否删除记录。我是否需要在servlet或javascript中进行一些修改,以便在用户点击否和页面时请求不会转发到servlet?当点击javascript确认时,停止转发页面到servlet

JAVASCRIPT:

function getConfirmation() { 
    var retVal = confirm("Do you want to continue ?"); 
    if (retVal == true) { 

     return true; 
    } else { 

     return false; 
    } 
} 

HTML:

<td> 
    <div align="center"> 
     <a href="DeleteController?op=2&from=allResult&id=<%=one.getId()%>" onclick="getConfirmation();"> 
      Delete 
     </a> 
    </div> 
</td> 

回答

1

在你的锚,的onclick更改为onclick="return getConfirmation();"

<a onclick="return getConfirmation();" href="DeleteController?op=2&from=allResult&id=<%=one.getId()%>">Delete</a> 

而刚刚返回函数confirm()。它会在OK上返回true并且会发生默认操作;在Cancel它将返回false并阻止操作。

function getConfirmation(){ 
    return confirm("Do you want to continue ?"); 
} 

Demo

3

你应该在你的HTML使用

onclick="return getConfirmation();" 

<td> 
    <div align="center"><a href="DeleteController?op=2&from=allResult&id=<%=one.getId()%>" onclick="return getConfirmation();">Delete</a></div> 
</td> 

如果您想防止在确认框的任何按钮click上重定向,您应该始终从函数中获取return false

function getConfirmation() { 
    var retVal = confirm("Do you want to continue ?"); 
    if (retVal) { 
     // Ok, do some processing here 
     // Your code here 
    } 

    // To prevent redirection 
    return false; 
} 
+0

我认为他所要做的就是停止浏览器跟随链接,以防用户取消确认对话框,在这种情况下,以下方法可以正常工作:function getConfirmation() {return confirm(“你想继续吗?”); }' –

+0

@Tushar - 它不工作。 –

+0

@VaibhavDalela查看更新的答案 – Tushar

0

你可以使用assign加载你的JavaScript您的网址。我发现有用的模式之一是在jQuery document.ready中,可以找到某种类型的所有标签(在本例中为“a”链接标签),从迭代器中分配它们的id,将实际的URL保存在一个JSON,并将其从实际链接中删除。这样,你可以处理从Javascript的所有内容

相关问题