2017-01-27 41 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