action
はい、確かにフォームを変更できます。その方法をご案内します。
まず、フォームには、HTML で指定された名前とアクション URL が必要です。
<form name="aformiam" method="post" action="/somewhere/to/go.php">
次に、フォームの送信時に JavaScript を実行する必要があるため、送信ボタンの onClick プロパティを次のような関数に設定する必要があります。
<input type="submit" value="Send Form" onClick="return submitForm();" />
最後に、実際にフォーム アクションを変更してフォームを送信する JavaScript 関数を示します。
function submitForm() {
// do anything here you need to determine which URL to post to
// I am just making an example here
var targetURL = '/some/url/to/post.php';
// now we will change the form's action
document.aformiam.action = targetURL;
// finally, submit the form by returning true
return true;
}
submit
true を返す最後のステップでは、入力要素のタイプがであり、関数がonClick
イベントによってトリガーされるため、フォームが送信されることに注意してください。たとえば、これがbutton
type input 要素またはa
タグでimg
ある場合、次のようなものを使用してフォームを送信するようにトリガーする必要があります。
document.aformiam.submit();
このソリューションは、アクションを変更して単一のURL に送信するために機能します。一度に複数の URL に投稿する必要がある場合は、XMLHttpRequest などの他のメソッドを使用する必要があります。その場合は、その旨を示すコメントを投稿してください。その例を示します。