2017-08-16 7 views
0

ユーザーがページにブロックを追加してレイアウトを保存できるようなページビルダーを構築しています。私は理解できないような問題に遭遇しました。私はイベントリスナーを追加するには、次の関数を呼び出してコンテンツを追加した後JavaScriptを使用してコンテンツを動的に追加してイベントをキャプチャする

:私は、動的にJavaScriptがなるように、ファイルの入力を含むとページに追加されたフォームを持っています。 $elはファイル入力に対応します。

function changeListen($el){ 
    $el.addEventListener('change', function(){ 
     $el.parentElement.submit(); 
    }); 
    $el.parentElement.addEventListener('submit', function(e){ 
     e.preventDefault; 
     // call Ajax request... 
    }); 
} 

私はので、私はこれまでのところ、とても良いchangeイベント内でフォームを送信しますが、何らかの理由でsubmitイベントはありませんが、画像が選択されたAjaxリクエストでデータベースを更新することができるようにしたいですページがリロードされます。任意の解決策または回避策が評価されました.JQueryではありません。

+0

多分e.preventDefaultを(クリックしたURIに表示されませんか?それはと呼ばれる必要があります:) – Tommos

答えて

0

HTMLでonsubmitイベントを使用すると、javascript関数をこのように呼び出してajax呼び出しを行うことができます。

Javascriptのサンプル

<script> 
function doSomething() { 
    alert('Hello, World'); 
    return false; 
} 
</script> 

HTMLサンプル

<form onsubmit="return doSomething();"> 
    <input type="submit" value="Submit" /> 
</form> 

EDIT:JavaScriptでfalseを返すので?は後)

+0

喜び、onsubmitも無視されています。また、onsubmit = "alert()"とonsubmit = "return false"を使用して試してみました。 –

関連する問題