2012-10-12 143 views
3

我有下面的代碼在我的遺產項目在JSP模擬href點擊javascript功能?

<tr> 
    <th colspan="2">Customer</th> 
    <td colspan="2"> 
     <a href="myAction.do" target="view">CustomerLink</a></td> 
    </tr> 

我想在行爲稍加修改,當我們點擊CustomerLink。我只想在進行操作之前在javascript函數中做一些處理。 我沒有得到如何模擬javascript函數中的href鏈接行爲?

我試過了什麼: -

<tr> 
    <th colspan="2">Customer</th> 
    <td colspan="2"> 
     <a href="javascript:customerLinkClicked('myAction.do')" target="view">CustomerLink</a></td> 
</tr> 

// javascript函數

function customerLinkClicked(path) 
    { 

     // simulate the href link behaviour, not sure how to do this 


    } 

回答

5
<a href="javascript:customerLinkClicked('myAction.do')" target="view">CustomerLink</a> 
<script> 
    function customerLinkClicked(path) { 
     if (confirm('message')) 
      document.location.href = path; 
    } 
</script> 
0

可以使用window.confirm爲獲得確認的對話框,它返回true或false,這取決於選擇。之後,默認行爲可能會被event.preventDefault方法取消。

例子:http://jsfiddle.net/Klaster_1/nXtvF/

$("a").on("click", function(event) { 
    if(!window.confirm("Proceed?")){ 
     event.preventDefault() 
    }; 
}); 

我用jQuery的它,但它是完全可選的。

0

什麼:

<a href="myAction.do" onclick="customerLinkClicked()" target="view">CustomerLink</a> 

起初onclick事件處理程序進行處理,則該位置將變爲myAction.do。

如果你想防止改變位置,你可以寫

onclick="return customerLinkClicked();" 

根據返回值(真,假),該位置的變化會發生。或不。

0

嘗試this.just複製和粘貼

<script type="text/javascript"> 
function fnc() 
{ 
if(confirm("Do you really want to go?")) 
{window.open("yoursitename.do");} 
} 
</script 
<a href="javascript:fnc()">click</a> 
0

你應該避免內聯JS,但對你目前的情況。

function customerLinkClicked(event) { 
     if(!confirm("Are you sure ?")) { 
       if(event.preventDefault) { 
        event.preventDefault(); 
       } 
       else { 
        event.returnValue = false; 
       } 
     } 
    } 

HTML

<a href="myAction.do" onclick="customerLinkClicked(event);" target="view">CustomerLink</a>