2016-07-03 8 views
6

サブミット・ボタンをクリックしたときにトリガーされる非常に単純なJSアラートを持つダミーのブートストラップ・モーダルがあります。コードは、ライブhereであり、これは、それがどのように見えるかです:あなたがサイトを訪れた場合アラート・ボックスを閉じるとURLに疑問符が表示される

<div class="modal fade" id="contact" role="dialog" > 
<div class="modal-dialog"> 
    <div class="modal-content"> 
     <form class="form-horizontal" role="form" name="contact-form"> 
      <div class="modal-header"> 
       <h4>test</h4> 
      </div> 
      <div class="modal-body"><p>This is body</p></div> 
      <div class="modal-footer"> 
       <button type="submit" id="submit" class="btn btn-primary btn-lg" onclick="alert('something');">Send</button> 
      </div> 
     </form> 
    </div> 
</div> 

が、あなたは上部のナビゲーションメニューで接触リンクをクリックしてモーダルをトリガすることができます。モーダルは、次のようになります。あなたが見ることができるように

enter image description here

、ただ一つのフィールドと送信ボタンがあります。ボタンのonclick()イベントは、画面上の単語「何か」を警告するように設定されています。これは、アラートを閉じると、ページが "?" URLに追加されます。このリフレッシュを防止するにはどうしたらいいですか?そして疑問符はどこから来たのですか?

+1

あなたが質問をdownvoteする必要がある場合、うわー、少なくとも理由を引用する優しさがありますか?私はここで何らかの規則に違反したか? – TheLearner

+0

"コード"を提供するリンクは無関係なものになります。 –

+0

@AlexKudryashev:そうではありません。それはコードが「生きている」リンクです...私もスクリーンショットを投稿しました。とにかく、リシャットはすでに答えていますので、ありがとうございます。 – TheLearner

答えて

3

最初に、ボタンのプロパティーtypesubmitに設定されていると思われたので、このプロパティーを完全に削除することをお勧めします。後続の疑問符はもう表示されません。しかしそれはそうです。

実際に行う必要があるのは、イベントのデフォルトアクションは、を防ぐ必要があります。

<button onclick="alert('something'); return false;">...</button> 

あなたは、よく、falseを返す。この方法は、これが認識されますが、クリックイベントのさらなる実行を阻止したいかのように、効果的に提出する:これを行うには、onclickイベントコールバック関数の中で右がfalseを返します操作。

関連する問題