2016-12-12 8 views
0

web2pyアプリケーション内で、コンポーネントとしてロードされたフォームがあり、Summernoteエディタが適用されるテキストエリアがあります。フォームの提出を促すモーダルボタン

{{=LOAD('editor', 'load_summernote.load', vars = {...}, ajax = True)}} 

Summernoteの ".note-insert"ボタン群(リンク、画像、ビデオ)はモーダルを開きます。そのモーダルの 'Insert *'ボタンをクリックすると、フォームが送信されます。私にとっては、これは非常に望ましくない動作のようです。私が提出されることからフォームを防ぐために、ハックソリューションのカップル上に構築しようとしました:

$(document).on('submit', 'form', function(e){ 
    e.preventDefault(); 
    return false; 
}); 

上記のコードが送信されてからフォームを防ぐことはできません。

最初の質問:Summernoteの「挿入」ボタンのフォーム提出動作に予想される動作がありますか、またはフォーム提出の原因となっているサイトに特有のものがありますか? (質問の後半部分に肯定的な答えを提示することはすぐには分かりません)

2番目の質問:これらの「挿入」ボタンがフォームを送信されないようにする好ましい方法はありますか?機能を損なうことなく、

答えて

0

ボタンに使用しているHTMLが間違っている可能性があります。私はあなたの "挿入"ボタンのボタンタグを使用していると仮定しています。 buttonタグのデフォルトの動作は、type = submit(暗黙的)であることに注意することが重要です。クリック時の送信を防ぐには、タイプ=ボタン属性をボタンタグに追加する必要があります。例:

<button>Insert</button> <!--WILL cause a submit (implicitly type=submit)--> 
<button type=button>Insert</button> <!--Will NOT cause a submit--> 

詳細はthis answerを参照してください。