2012-02-29 1 views
1

に同じページ内に新しいウィンドウを開く私はjsp pageを持っており、submit buttonをクリックしたときに、新しいページが同じページに開かれたが、私は何をしたいことnew page(window)inside same pageを開く必要があることですが、あなたのようなとして以下のサイズをしているだろう多くのウェブサイトで見られています。 after clicking submit button a new page will be opened in a less sizejquery/javascriptを使ってどうすればいいですか?は小型

index.jsp 

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

私はあなたの質問を理解していればしてください

+0

少し混乱していて、あなたがモーダルウィンドウを意味しています100%わから助けることがないのだろうか? –

+0

モーダルウィンドウはOKです – Tom

答えて

2

任意のアイデアは、私は、絶対にわからないが、多分これはあなたを助けるでしょうか?

<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 dialog pluginを見てお勧めします。コメントの後に

編集:

多分あなたは、サーバーをヒットする必要はありません何かをしようとしています。あなたがする必要があるのは、フォームから値を含む「ウィンドウ」を開くことだけです。あなたは(もjQueryを使って)、このような「窓」を作成することができます今

var formFieldVal = $('input[name="myInput"]).val(); 

...このような任意のフォームフィールドの値にアクセスすることができます。

var divWindow = $('<div class="overlay"><div>' + formFieldVal + '</div></div>'); 

をし、ドキュメント

に追加します
$(body).append(divWindow); 

今、このような動的に追加の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; 
} 
+0

は 'form'で同じことをしていますか? –

+0

あなたは間違いなく動作させることができます。新しいウィンドウを開くために 'window.open'を呼び出すことができます。 – mindandmedia

+0

はフォームパラメータの値で、既に呼び出されたのと同じ方法で呼び出されます。 –

3

以下はサンプルコードで動作するはずです。target = "_ blank"を探していたと思います。_selfは_selfではないので、同じウィンドウでターゲット値がまったくないという同じ効果があります。また、target = "_ 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> 

新しいサンプルコードを支援します。

ポップアップがサーバー側のものにアクセスしているかどうか、そしてフォームの内容にアクセスする必要があるかどうかは不明ですが、疑問が混乱していると思います。この質問に対して提供されるもう1つの回答は、あなたの状況に基づいてあなたに合っているかもしれません。以下は私の改訂版のコードで、うまくいけば、それはコンテキストが「新しいページ(ウィンドウ)」で

<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> 
+0

+1:歓迎stackoverflow!答えは – mindandmedia

+0

+1ですが、その位置を指定することで、そのウィンドウを中央の位置に持っていく方法はありますか? – Tom

+0

ありがとうmindandmedia。 @tomをwindow.openに置くと、ブラウザのサイズ/ 2(ポップアップの幅/ 2) - ポップアップの幅の1/2(popup-width/2)にしたい左と上のオフセットを指定することができます。左と上は、私の例のwidthパラメータと同じ方法で指定します。 screen.widthとscreen.heightはブラウザの解像度を取得する必要があります。 – ChrisM

関連する問題