JavaScript のフォーム action 属性

Muhammad Muzammil Hussain 2023年1月30日
  1. JavaScript のフォーム action 属性
  2. フォームアクション JavaScript を使用した別の例
  3. JavaScript でフォームアクション属性を使用する別の方法
JavaScript のフォーム action 属性

この記事では、JavaScript のフォーム action 属性について説明します。フォームにアクセスし、すべてのフィールドの値を取得し、フォームデータを検証して、適切な宛先に送信します。これらのアクション属性とは何か、およびそれらがどのように機能するかを見てみましょう。

このようにしてフォームを作成できます。

<form action="/signup" method="post" id="signup"> 
</form>

JavaScript のフォーム action 属性

action 属性​​は、送信時にフォームデータを送信する場所を指定します。

構文:

<form action="URL">

action 属性値

  1. 絶対 URL-別の Web サイトを指します(action="https://www.delftstack.com/tutorial/javascript"など)
  2. 相対 URL-Web サイト内のファイルを指します(action="example.htm"など)

HTML を使用したフォームアクション属性の例

フォームデータを特定のリンクに送信して、送信時に入力を処理します。

<form action="https://www.delftstack.com" method="get">
  <label for="firstname">First name:</label>
  <input type="text" id="firstname" name="firstname"><br><br>
  <label for="lastname">Last name:</label>
  <input type="text" id="lastname" name="lastname"><br><br>
  <input type="submit" value="Submit">
</form>

フォームアクション JavaScript を使用した別の例

次の例には、form action 属性​​を使用した HTML が含まれています。

<!DOCTYPE html>
<html lang="en">

<head>
	<title>Form action javascript</title>
	<style>
		form label 
		{
			display: inline-block;
			width: 100px;
		}

		form div 
		{
			margin-bottom: 10px;
		}
	</style>

</head>

<body>
	<div class="p-2">
		<form id="myForm">
			<div>
				<label>Name:</label>
				<input id="name" name="name" type="text">
			</div>
			<div>
				<label>Email:</label>
				<input id="email" name="email" type="email">
			</div>
			<div>
				<input id="submit" type="submit">
			</div>
		</form>
	</div>
</body>

<script>
	// setting action on window onload event
	window.onload = function () {
		setAction('action.php');
	};
	// this event is used to get form action as an alert which is set by setAction function by using getAction function
	document.getElementById('submit').addEventListener('click', function (e) {
		e.preventDefault();
		getAction();
	});
	// this function is used to set form action
	function setAction(action) {
		document.getElementById('myForm').action = action;
		return false;
	}
	// this function is used to get form action assigned by setAction function in an alert
	function getAction() {
		var action = document.getElementById('myForm').action ;
		alert(action);
	}
</script>

上記のコードでは、JavaScript を使用してカスタムの form action を追加しました。

JavaScript でフォームアクション属性を使用する別の方法

ユーザーがフォームを送信するときに onsubmit イベントを使用しても、同じ結果が得られます。

構文:

<element onsubmit="myScript">

例:

<form onsubmit="myFunction()">
      <div>
        <label>Name:</label>
        <input id="name" name="name" type="text">
      </div>
      <div>
        <label>Email:</label>
        <input id="email" name="email" type="email">
      </div>
      <div>
        <input id="submit" type="submit">
      </div>
</form>

上記の例では、form action 属性​​の代わりに、onsubmit イベントを使用してフォームデータを送信しています。

関連記事 - JavaScript Form