2017-01-27 70 views
-1

我在做一個MVC應用程序。 IT是從ASP.NET遷移而來的。MVC從Javascript動作打開HTM頁面

在我的_ Layout我有一個Footer,顯示一條消息,顯示條款和條件的鏈接。該鏈接打開一個Htm與所有法律意見。

我的意圖是Link調用一個打開Htm頁面的JavaScript動作。喜歡這個。

function ShowTerms() { 
 
      document.bgColor = "#E9EAED"; 
 
      oReturn = window.showModalDialog('TermsAndConditions.htm', window, 'dialogHeight:680px;dialogWidth=620px;resizable:no;status:no; help:no'); 
 
      document.bgColor = ""; 
 
     }

我的JavaScript調用是這樣的。

<span class="Term" onmouseover="this.style.cursor='pointer'" onclick="javascript:ShowTerms();">Terms y Conditions</span>

我有幾個錯誤回報,當我顯示出來。 IIS沒有找到該頁面,以及類似的東西。

這是可行嗎?或者我必須調用Controller,Action Method並使用Boostrap ShowModal打開它?

感謝

+0

你可以給你的鏈接一個id,然後在你的Javascript中引用這個id併爲它寫一個函數。 –

+0

你的意思是調用一個HTML.ActionLink ?.我加了我怎麼叫我JavaScript功能..謝謝 – Diego

+0

我認爲這是asp.net-mvc? (你需要正確標記你的問題) –

回答

0

試試這個

<span class="Term" onmouseover="this.style.cursor='pointer'">Terms y Conditions</span> 

var ele = document.getElementsByClassName("Term")[0]; 

ele.addEventListener("click",function() { 
     document.bgColor = "#E9EAED"; 
     oReturn = window.showModalDialog('TermsAndConditions.htm', window, 'dialogHeight:680px;dialogWidth=620px;resizable:no;status:no; help:no'); 
     document.bgColor = ""; 
    }); 

我不知道你使用的是什麼瀏覽器,但Window.showModalDialog()在現代瀏覽器已經過時了。你可以閱讀關於它here。您可以使用的另一個選項,您還可以閱讀有關here

0

另一個工作示例。

<dialog> 
<p> 
    <q id="linkId"></q> 
</p> 
</dialog> 

<span class="Term" id="show" onmouseover="this.style.cursor='pointer'">Terms y Conditions</span> 



document.getElementById('show').onclick = function(e) { 
e.preventDefault(); 
document.bgColor = "#E9EAED"; 
var link = document.getElementById('linkId'); 
link.innerHTML = window.open('http://www.mozilla.org','popup','width=600,height=600'); return false;}; 

你可以試試here