Vip*_*pul 5 javascript internet-explorer-7 razor asp.net-mvc-3
我需要在点击视图中的按钮时打开一个新的弹出窗口.新窗口应重定向到特定控制器中的特定操作方法.我还需要提供新弹出窗口大小的属性.我一直在尝试以下代码:
<input type="button" name = "ClickMe" Value="ClickMe" onclick= "javascript:window.open('/Home/Create/','Customer Search',height='window.screen.height - 100', width='200',left='window.screen.width - 250' ,top='10',status='no',toobar='no',resizable='yes',scrollbars='yes')"/>
Run Code Online (Sandbox Code Playgroud)
点击按钮,没有任何反应.我得到以下Javascript错误:
行:19个
字符:1个
错误:参数无效.
代码:0
当我检查HTML渲染的ViewSource时,我发现该行是渲染按钮的那一行.我在IE 7中使用Windows Vista.我正在使用VS 2010中的Razor Engine处理MVC 3
arc*_*hil 14
尊重HTML.尊重javascript.尊重您正在编写的框架,它已经从第2版到第3版进行了两次重大更改(验证和ajaxity)以应用更新的现代原则 - Unobtrusive Javascript.如果您遵循该原则(在vs javascript synthax突出显示的帮助下),您可以设法在更短的时间内纠正该错误.
<input type="button" id="ClickMe" name = "ClickMe" Value="ClickMe" />
...
<script type="text/javascript">
$(function () {
$('#ClickMe').click(function () {
window.open('/Home/Create/', 'CustomerSearch', 'height=' + (window.screen.height - 100) + ',width=200,left=' + (window.screen.width - 250) + ',top=10,status=no,toolbar=no,resizable=yes,scrollbars=yes');
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
正如我发现的那样,IE中窗口名称中的空间问题 - "客户搜索".如果删除该空间 - "CustomerSearch",它也将开始在IE中工作
提供的HTML对于中的'字符有一些怪癖onclick.尝试并编辑以下内容(为了便于阅读而添加了换行符):
<input type="button"
name="ClickMe"
value="ClickMe"
onclick="javascript:window.open('/Home/Create/',
'Customer Search',
'height=' + (window.screen.height - 100) + ',width=200,left=' + (window.screen.width - 250) + ',top=10,status=no,toolbar=no,resizable=yes,scrollbars=yes');"/>
Run Code Online (Sandbox Code Playgroud)
显着变化:
window.open()是一个 JavaScript字符串,其中包含插入计算的值'删除toobar→ toolbar.基于archil的更新,似乎他已经达到了目标:
var windowObjectReference = window.open(strUrl, strWindowName[, strWindowFeatures]);
Run Code Online (Sandbox Code Playgroud)
strWindowName
这是仅命名新窗口的字符串.当指定<a>元素或a 的目标属性时,此类字符串可用作链接和表单的目标<form>.此字符串参数不应包含任何空格.strWindowName没有指定新窗口的标题.(来源)
| 归档时间: |
|
| 查看次数: |
33358 次 |
| 最近记录: |