Javascript 在同一页面内以较小的尺寸打开一个新窗口

Javascript 在同一页面内以较小的尺寸打开一个新窗口,javascript,jquery,window,Javascript,Jquery,Window,我有一个jsp页面,当点击submit按钮时,一个新页面会在同一页面中打开,但我想要的是新页面(窗口)应该在同一页面内打开,,但大小要比你在许多网站上看到的小单击提交按钮后,将以较小的大小打开一个新页面,如何使用jquery/javascript index.jsp <form action="newwindow.jsp" target="_self"> <input type="submit value="click here"/> </form> in

我有一个
jsp页面
,当点击
submit按钮
时,一个新页面会在同一页面中打开,但我想要的是
新页面(窗口)
应该在同一页面内打开
,但大小要比你在许多网站上看到的小
单击提交按钮后,将以较小的大小打开一个新页面
,如何使用
jquery/javascript

index.jsp

<form action="newwindow.jsp" target="_self">
<input type="submit value="click here"/>
</form>
index.jsp

我绝对不确定,如果我理解你的问题,但也许这会帮助你

<a class=".openWin" href="_#">click here</a>

$('.openWin').click(function(ev){
    window.open('/newwindow.jsp','Title','width=200,height=400');
    ev.preventDefault();
    return false;
});
现在,您可以(也可以使用jquery)创建如下“窗口”:

var divWindow = $('<div class="overlay"><div>' + formFieldVal + '</div></div>');
现在,将动态添加的div设置为如下样式(css),您将看到一个窗口外观:

.overlay {
     visibility: hidden;
     position: absolute;
     left: 0px;
     top: 0px;
     width:100%;
     height:100%;
     text-align:center;
     z-index: 1000;
}

.overlay div {
     width:300px;
     margin: 100px auto;
     background-color: #fff;
     border:1px solid #000;
     padding:15px;
     text-align:center;
}

我绝对不确定,如果我理解你的问题,但也许这会帮助你

<a class=".openWin" href="_#">click here</a>

$('.openWin').click(function(ev){
    window.open('/newwindow.jsp','Title','width=200,height=400');
    ev.preventDefault();
    return false;
});
现在,您可以(也可以使用jquery)创建如下“窗口”:

var divWindow = $('<div class="overlay"><div>' + formFieldVal + '</div></div>');
现在,将动态添加的div设置为如下样式(css),您将看到一个窗口外观:

.overlay {
     visibility: hidden;
     position: absolute;
     left: 0px;
     top: 0px;
     width:100%;
     height:100%;
     text-align:center;
     z-index: 1000;
}

.overlay div {
     width:300px;
     margin: 100px auto;
     background-color: #fff;
     border:1px solid #000;
     padding:15px;
     text-align:center;
}

下面应该使用您的示例代码,认为您正在查找target=“\u blank”,而不是\u self,因为\u self是同一个窗口,具有完全没有目标值的相同效果。另外,不要认为target=“\u blank”最近受到了太多鼓励,加上标签浏览器,它将在新标签中打开,不会重新调整大小

希望下面的内容能有所帮助

<form target="popup" action="google.com" onsubmit="window.open('', this.target,    'width=300,height=300,resizable,scrollbars=yes'); return true;">
<input type="submit" value="click here"/>
</form>

基于尝试将弹出窗口居中的新示例代码

我认为这个问题令人困惑,因为不清楚弹出窗口是否正在访问服务器端的内容,以及是否需要访问表单内容。根据你的情况,这个问题的另一个答案也可能适合你。下面是我修改过的代码,希望能有所帮助,但不能100%确定,因为上下文有点混乱

<script>
function openWindow(h, w, url) {
  leftOffset = (screen.width/2) - w/2;
  topOffset = (screen.height/2) - h/2;
  window.open(url, this.target, 'left=' + leftOffset + ',top=' + topOffset + ',width=' + w + ',height=' + h + ',resizable,scrollbars=yes');

}
</script>
<form name="form2" id="form2" method="post" action="google.com" onsubmit="openWindow(300, 300, 'google.com');">
<input type="submit" value="click here"/>
</form>

函数openWindow(h、w、url){
左偏移=(屏幕宽度/2)-w/2;
地形偏移=(屏幕高度/2)-h/2;
open(url,this.target,'left='+leftOffset+',top='+topOffset+',width='+w+',height='+h+',可调整大小,滚动条=yes');
}

下面的代码应该与示例代码一起使用,假设您正在查找target=“\u blank”,而不是\u self,因为\u self是同一个窗口,具有完全没有目标值的相同效果。另外,不要认为target=“\u blank”最近受到了太多鼓励,加上标签浏览器,它将在新标签中打开,不会重新调整大小

希望下面的内容能有所帮助

<form target="popup" action="google.com" onsubmit="window.open('', this.target,    'width=300,height=300,resizable,scrollbars=yes'); return true;">
<input type="submit" value="click here"/>
</form>

基于尝试将弹出窗口居中的新示例代码

我认为这个问题令人困惑,因为不清楚弹出窗口是否正在访问服务器端的内容,以及是否需要访问表单内容。根据你的情况,这个问题的另一个答案也可能适合你。下面是我修改过的代码,希望能有所帮助,但不能100%确定,因为上下文有点混乱

<script>
function openWindow(h, w, url) {
  leftOffset = (screen.width/2) - w/2;
  topOffset = (screen.height/2) - h/2;
  window.open(url, this.target, 'left=' + leftOffset + ',top=' + topOffset + ',width=' + w + ',height=' + h + ',resizable,scrollbars=yes');

}
</script>
<form name="form2" id="form2" method="post" action="google.com" onsubmit="openWindow(300, 300, 'google.com');">
<input type="submit" value="click here"/>
</form>

函数openWindow(h、w、url){
左偏移=(屏幕宽度/2)-w/2;
地形偏移=(屏幕高度/2)-h/2;
open(url,this.target,'left='+leftOffset+',top='+topOffset+',width='+w+',height='+h+',可调整大小,滚动条=yes');
}


By'new page(window)'你是指模式窗口吗?By'new page(window)'你是指模式窗口吗?你肯定可以让它工作,只是想让你知道你可以调用
window。open
打开一个新窗口。表单参数值是多少,调用的方式也和它调用的方式一样。对不起,我不理解这个评论,请重新措辞我不熟悉asp,但是如果我有一个文本字段,并且我想在弹出窗口中获取文本字段值,那么我调用文本字段的方式与我们在
php
$\u POST['text\u field']
中调用的方式相同,或者我们在弹出url上传递它,比如
/newwindow.php?text=sometext
+1用于jQuery对话框。我讨厌那些打开新窗口而不是“假”窗口的页面。你肯定可以让它工作,只是想告诉你你可以调用
窗口。打开
打开一个新窗口。是表单参数值,也可以像调用它一样调用。很抱歉,我不理解这个注释,请重新措辞我不熟悉asp,但是如果我有一个文本字段,并且我想在弹出窗口中获取文本字段值,那么我调用文本字段的方式与我们在
php
$\u POST['text\u field']
中调用的方式相同,或者我们在弹出url上传递它,比如
/newwindow.php?text=sometext
+1用于jQuery对话框。我讨厌打开新窗口的页面,而不是为你的答案打开“假”窗口+1,但是我如何通过指定窗口的位置使其处于中间位置呢?谢谢mindandmedia@打开窗口。您可以指定要作为浏览器大小/2减去弹出窗口大小一半的左偏移和上偏移,即(浏览器宽度/2)-(弹出窗口宽度/2)。左侧和顶部的指定方式与我的示例中的宽度参数相同。screen.width和screen.height应该获得浏览器的分辨率应该已经提到,在onsubmit事件中,您可能希望将window.open引用移动到您自己的函数中,以便在函数中执行screen.width和screen.height,然后使用计算出的值调用window.open,如onsubmit=“openWindow(100300);”然后在页面的一部分或外部有一个openWindow函数。jsOK这里出现错误,你能编辑你的代码让我看到中间位置的新窗口吗?+1作为你的答案,但是我如何通过指定它的位置使该窗口位于中间位置?谢谢mindandmedia@打开窗口。您可以指定要作为浏览器大小/2减去弹出窗口大小一半的左偏移和上偏移,即(浏览器宽度/2)-(弹出窗口宽度/2)。左侧和顶部的指定方式与我的示例中的宽度参数相同。screen.width和screen.height应该获得浏览器的分辨率应该已经提到,在onsubmit事件中,您可能希望移动窗口。在您自己的函数中打开引用,以便在函数中可以执行screen.width和screen.height和