私が取り組んでいる Web サイトでこの奇妙なコードに出くわしましたが、私が見ている動作がどのように、またはなぜ起こっているのか理解できません。
<input type="submit" value="Save" onclick="document.location.href='http://www.google.com'" />
(href を変更しました。実際には、フォームのアクションと同じ URL を指していました)。
フォームが送信される前にイベントが発生するため、onclick
このコードによってページが Google.com にリダイレクトされ、ページの実行が停止され、フォームが送信されないことが予想されます。または、Google.com にリダイレクトしても、フォームの送信が完了する可能性があります。
しかし、リダイレクトが完全に無視され、フォームがとにかく送信されるようです。なぜこれが起こるのでしょうか?イベントが問題なく発生
することを確認しました。onclick
リダイレクトを関数に移動し、その関数を で呼び出しましたonclick
。関数は送信前に正常に呼び出されましたが、リダイレクトは無視されたようです。