2016-11-27 31 views
0

私はHTMLとJavaScriptを使用して同様のプロジェクトで2つのWeb関連のクラスを経験しましたが、ポップアップが全く表示されないか、直ちに閉鎖する。 (私はhtmlタグの外に、ファイルの一番下にスクリプトを置く)私は、全体のコードを投稿することはできませんが、ここでのコードのラフなブロックがあります:JavaScriptが正しく表示されていないポップアップ

<script type="text/javascript"> 
 
\t var popup = document.getElementById('popup'); 
 
\t var btn = document.getElementById('btn_popup'); 
 
\t var close = document.getElementById('close'); 
 

 
\t btn.onclick = function(){ 
 
\t \t popup.style.display = "block"; 
 
\t } 
 
\t close.onclick = function(){ 
 
\t \t popup.style.display = "none"; 
 
\t } 
 
</script>
<html> 
 
    <body> 
 
    <div id="titleBar"> 
 
\t \t <h2>Title</h2> 
 
\t \t <div> 
 
\t \t \t <form action="page.php" method="get"> 
 
\t \t \t \t <input type="text" name="item"> by 
 
\t \t \t \t <select name="search"> 
 
\t \t \t \t \t <option value="v1">Value 1</option> 
 
\t \t \t \t \t <option value="v2">Value 2</option> 
 
\t \t \t \t \t <option value="v3">Value 3</option> 
 
\t \t \t \t </select> 
 
\t \t \t \t <input type="submit" value="SEARCH"> 
 
\t \t \t \t <button id="btn_popup">Popup Button</button> 
 
\t \t \t </form> 
 
\t \t </div> 
 
\t </div> 
 

 
\t <div id="popup"> 
 
\t \t <div id="popup_content"> 
 
\t \t \t <header> 
 
\t \t \t \t <span id="close">X</span> 
 
\t \t \t \t <p>Popup Form</p><br> 
 
\t \t \t </header> 
 
\t \t \t <article> 
 
\t \t \t \t <div> 
 
\t \t \t \t \t <form method="POST" action="page.php"> 
 
\t \t \t \t \t \t <input type="text" name="n1" placeholder="N1"> 
 
\t \t \t \t \t \t <input type="text" name="n2" placeholder="N2"> 
 
\t \t \t \t \t \t <input type="text" name="n3" placeholder="N3"> 
 
\t \t \t \t \t \t <input type="text" name="n4" placeholder="N4"><br> 
 
\t \t \t \t \t \t <select name="list"> 
 
\t \t \t \t \t \t \t <option value="">Select One</option> 
 
\t \t \t \t \t \t \t <?php 
 
\t \t \t \t \t \t \t \t //code to generate options 
 
\t \t \t \t \t \t \t ?> 
 
\t \t \t \t \t \t </select><br> 
 
\t \t \t \t \t \t <input type="submit" value="Click"> 
 
\t \t \t \t \t </form> 
 
\t \t \t \t </div> 
 
\t \t \t </article> 
 
\t \t </div> 
 
\t </div> 
 
</body> 
 
</html>

私はコピー他のページのこれらのコード部分は、このページでは動作しなくなりましたが、前のページで問題なく動作します。私はまた、PHPを使用してポップアップフォームでドロップダウンリストを生成します。前のページでは、ポップアップが表示されているように表示されますが、このページではポップアップが半秒ほどしか表示されず、単独で閉じます。

これに修正がありますか?それとも少なくとも問題の手がかりは?そして、これを修正するためにフレームワーク(w3以外はw3モーダルではない)を使用するように私に勧めないでください。私はこれらのファイルを見るために最新のGoogle Chromeを使用していますが、すでにMozillaでも試していますが、同じ結果が得られます。あなたがボタンをクリックしたときに

<form action="page.php" method="get"> 

page.phpの負荷が発生します。

答えて

0

問題は、これがあることです。

これは、ボタンタグのデフォルトの「タイプ」が「送信」であるためです。

ジャストタイプ=「ボタン」を追加します:

<button type="button" id="btn_popup">Popup Button</button> 
0

をしかし問題は、ポップアップが全く表示または半秒とすぐ自体に閉じるため表示しませんどちらかということです。

ポップアップボタンをクリックするとフォームが送信されるためです。

ポップアップボタンをフォームの外側に置いてください。そうしないと、防止イベントを処理する必要があります。

<form> 
    //your code 
</form> 
<button id="btn_popup">Popup Button</button> 

私はフィドルを作成し、

https://jsfiddle.net/ponrajpaul/42g9bk3c/

たら、それを確認してください
関連する問題