Formularfelder mit jQuery löschen

Habdul Hazeez 15 Februar 2024
  1. Verwenden Sie CSS-Selektoren, um Formularfelder zu löschen
  2. Verwenden Sie die jQuery-Methode .find(), um Formularfelder zu löschen
Formularfelder mit jQuery löschen

Um Formularfelder mit jQuery zu löschen, können Sie ihre Werte auf eine leere Zeichenfolge setzen.

In diesem Artikel lernen Sie zwei Möglichkeiten kennen, die Sie verwenden können. Die erste berücksichtigt Kontrollkästchen, die zweite nicht.

Verwenden Sie CSS-Selektoren, um Formularfelder zu löschen

Sie können eine Kombination von CSS-Selektoren verwenden, um HTML-Formularfelder in jQuery zu löschen. Hier schließen die CSS-Selektoren einige Formularfelder wie Optionsfelder und Kontrollkästchen aus.

Dies verhindert die versehentliche Löschung ihrer Wert-Attribute, die zu schwer nachvollziehbaren Fehlern führen können. Im Folgenden werden Ihre HTML-Formularfelder gelöscht, wobei der Wert Ihrer Kontrollkästchen intakt bleibt.

Wenn sie aktiviert sind, werden sie vom Code deaktiviert.

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<title>01-jQuery-clear-form</title>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js" integrity="sha512-aVKKRRi/Q/YV+4mjoKBsE4x3H+BkegoM/em46NNlCqNTmUYADjBbeNefNxYV7giUp0VxICtqdrbqU7iVaeZNXA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
	<style>
		form {
			width: 50%;
			margin: 2em auto;
			font-size: 1.2em;
		}
		.form_row {
			margin-bottom: 1em;
		}
	</style>
</head>
<body>
	<main>
		<form id="bio_data_form">
			<div class="form_row">
				<label for="first_name">First name</label>
				<input id="first_name" type="text" name="first_name">
			</div>
			<div class="form_row">
				<label for="last_name">Last name</label>
				<input id="last_name" type="text" name="last_name">
			</div>
			<div class="form_row">
				<label>
					<input type="checkbox" name="engineer" value="engineer" value="engineer"> I am an engineer
				</label>
			</div>
			<div class="form_row">
				<button class="clear_form">Clear form</button>
				<input type="submit" name="submit_form" value="Submit form" class="submit_form">
			</div>
		</form>
	</main>
	<script>
		$(document).ready(function() {
			$('.clear_form').click(function(e) {
				e.preventDefault();
				$(':input', '#bio_data_form')
				.not(':button, :submit, :reset, :hidden')
				.prop('checked', false).prop('selected', false)
				.not(':checkbox, :radio, select').val('');
			});
		});
    </script>
</body>
</html>

Ausgang:

Löschen Sie Formularfelder mit CSS-Selektoren

Verwenden Sie die jQuery-Methode .find(), um Formularfelder zu löschen

Die jQuery-Methode .find() kann nach HTML-Formularelementen suchen; Von dort aus können Sie ihre Werte löschen. Im Gegensatz zum ersten Beispiel enthält das Formular keine Kontrollkästchen.

Und der Code zielt auf Texteingaben und textarea-Elemente ab, aber wenn Sie möchten, können Sie weitere Elemente hinzufügen.

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<title>02-jQuery-clear-form</title>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js" integrity="sha512-aVKKRRi/Q/YV+4mjoKBsE4x3H+BkegoM/em46NNlCqNTmUYADjBbeNefNxYV7giUp0VxICtqdrbqU7iVaeZNXA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
	<style>
		form {
			width: 50%;
			margin: 2em auto;
			font-size: 1.2em;
		}
		.form_row {
			margin-bottom: 1em;
		}
		label, input:not([type="submit"]), textarea {
			display: block;
			width: 50%;
		}
	</style>
</head>
<body>
	<main>
		<form id="bio_data_form">
			<div class="form_row">
				<label for="first_name">First name</label>
				<input id="first_name" type="text" name="first_name">
			</div>
			<div class="form_row">
				<label for="last_name">Last name</label>
				<input id="last_name" type="text" name="last_name">
			</div>
			<div class="form_row">
				<label>Who are you?</label>
				<textarea></textarea>
			</div>
			<div class="form_row">
				<button class="clear_form">Clear form</button>
				<input type="submit" name="submit_form" value="Submit form">
			</div>
		</form>
	</main>
	<script>
		$(document).ready(function() {
			$('.clear_form').click(function(e) {
				e.preventDefault();
				$(this).closest('form').find("input[type=text], textarea").val("");
			});
		});
    </script>
</body>
</html>

Ausgang:

Löschen Sie das Formularfeld mit der jQuery-Suchmethode

Habdul Hazeez avatar Habdul Hazeez avatar

Habdul Hazeez is a technical writer with amazing research skills. He can connect the dots, and make sense of data that are scattered across different media.

LinkedIn

Verwandter Artikel - jQuery Form