タグ付けされた質問 「onsubmit」

4
React.jsでのonSubmitの設定
フォームの送信doSomething()時に、デフォルトの投稿動作の代わりにしようとしています。 どうやらReactでは、onSubmitはフォームでサポートされているイベントです。ただし、次のコードを試すと、 var OnSubmitTest = React.createClass({ render: function() { doSomething = function(){ alert('it works!'); } return <form onSubmit={doSomething}> <button>Click me</button> </form>; } }); メソッドdoSomething()は実行されますが、その後、デフォルトのポスト動作が引き続き実行されます。 これは私のjsfiddleでテストできます。 私の質問:デフォルトの投稿動作を防ぐにはどうすればよいですか?

16
値が関数であるかどうかのテスト
フォームの値がonsubmit関数であるかどうかをテストする必要があります。通常、形式はonsubmit="return valid();"です。これが関数であるかどうか、そしてそれが呼び出し可能かどうかを判断する方法はありますか?typeofを使用すると、それが文字列であることが返されるだけで、あまり役に立ちません。 編集:もちろん、私は「returnvalid();」を理解しています。文字列です。私はreplaceそれを「valid();」、さらには「valid()」にまで絞り込みました。どちらかが機能なのか知りたいです。 編集:これが私の問題を説明するのに役立つかもしれないいくつかのコードです: $("a.button").parents("form").submit(function() { var submit_function = $("a.button").parents("form").attr("onsubmit"); if ( submit_function && typeof( submit_function.replace(/return /,"") ) == 'function' ) { return eval(submit_function.replace(/return /,"")); } else { alert("onSubmit is not a function.\n\nIs the script included?"); return false; } } ); 編集2:これが新しいコードです。form.submit()を呼び出しても既存のonsubmitは起動されないため、まだevalを使用する必要があるようです。 var formObj = $("a.button").parents("form"); formObj.submit(function() { if ( …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.