4

event.preventDefault(); を使用してフォームの送信を防止する on('submit') イベント ハンドラーを取得できません。

 $("section.shopping-cart").on('submit','form.adjustform input[type="submit"]', function(event)     {   

      // code

      event.preventDefault();
 }) 

on('click') と return false を使用して動作させていました。上記の方法が正しい方法であることを読んだことがあります..

ありがとう、カム

4

2 に答える 2

7

onフォーム要素以外のものを選択するセレクターを使用して、の委任フォームを使用しています。

// Here ------------------------------------------------v
$("section.shopping-cart").on('submit','form.adjustform input[type="submit"]', ...

submitイベントは要素で発生しますform(少なくとも、便利にキャンセルできるイベントは発生します)。フォーム要素を指定します:

$("section.shopping-cart").on('submit','form.adjustform', ...

セレクターが非フォーム要素を選択するために機能しない例を次に示します。

| ソース

そして、正しく動作する修正された例を次に示します。

| ソース

(: コードから離れないようにするために、フォームは新しいウィンドウで開きます。)

于 2012-12-15T14:23:00.783 に答える
3

送信イベントは、送信ボタンではなくフォームで発生します。

イベントをフォームにバインドします。

$("section.shopping-cart").on('submit','form.adjustform', function(event)     {

または、送信ボタンのクリック イベントをバインドします。

$("section.shopping-cart").on('click','form.adjustform input[type="submit"]', function(event)     {

(ただし、一部のブラウザーでは、Enter キーを押してフォームを送信することもできます。この場合、クリック イベントはトリガーされません。)

于 2012-12-15T14:27:11.717 に答える