Actuellement, les champs de formulaire suivants sont effacés par le jQuery affiché:
Formulaire HTML:
// clear out form fields
$('#add input[name="name"]').val('');
$('#add input[name="model"]').val('');
$('#add input[name="color"]').val('');
jQuery:
<form action="" method="post" id="add">
<legend>Add Mobile</legend>
<ol>
<li>
<label for="add_name">name</label>
<input type="text" name="name" id="add_name"></input>
</li>
<li>
<label for="add_model">model</label>
<input type="text" name="model" id="add_model"></input>
</li>
<li>
<label for="add_color">color</label>
<input type="text" name="color" id="add_color"></input>
</li>
</ol>
<button type="button" onclick="addMobile()">Submit</button>
<button type="reset">Cancel</button>
</form>
4 Réponses :
Si vous ajoutez une classe aux balises d'entrée que vous souhaitez effacer, ce serait assez simple comme ci-dessous. Vous pouvez également utiliser des cas conditionnels pour effacer les valeurs à l'intérieur des formulaires.
Code HTML:
$('.clearMe').val('');
Jquery:
<form action="" method="post" id="add">
<legend>Add Mobile</legend>
<ol>
<li>
<label for="add_name">name</label>
<input type="text" class="clearMe" name="name" id="add_name" value="rarara"/>
</li>
<li>
<label for="add_model">model</label>
<input type="text" class="clearMe" name="model" id="add_model" value="bababa"/>
</li>
<li>
<label for="add_color">color</label>
<input type="text" class="clearMe" name="color" id="add_color" value="tataata"/>
</li>
</ol>
<button type="button" onclick="addMobile()">Submit</button>
<button type="reset">Cancel</button>
</form>
jsfiddle .
Supprimez l'attribut type = "reset". Parce que cette attribution vous en empêche.
Cette méthode attribue la valeur souhaitée à tous les champs de texte du formulaire que vous spécifiez.
<form action="" method="post" id="add">
<legend>Add Mobile</legend>
<ol>
<li>
<label for="add_name">name</label>
<input type="text" name="name" id="add_name"></input>
</li>
<li>
<label for="add_model">model</label>
<input type="text" name="model" id="add_model"></input>
</li>
<li>
<label for="add_color">color</label>
<input type="text" name="color" id="add_color"></input>
</li>
</ol>
<button type="button" onclick="addMobile()">Submit</button>
<button onClick="ClearTextInputs('add')">Cancel</button>
</form>
<script>
function ClearTextInputs(formId){
//$("#"+formId+" input:text").val("You Value"); //New Value
$("#"+formId+" input:text").val(""); //Remove value
}
</script>
J'ai fini par utiliser ceci:
$('#add').trigger('reset');
Voir ce lien , en particulier la réponse de @ user768680 du 17 mars 2013 à 18h45.
Vous pouvez directement obtenir un groupe de input [type = text] et les réinitialiser tous ensemble.
CODE HTML:
function clearMe() {
$('form').find("input[type=text]").reset();
}
JS:
<form action="" method="post" id="add">
<legend>Add Mobile</legend>
<ol>
<li>
<label for="add_name">name</label>
<input type="text" name="name" id="add_name"></input>
</li>
<li>
<label for="add_model">model</label>
<input type="text" name="model" id="add_model"></input>
</li>
<li>
<label for="add_color">color</label>
<input type="text" name="color" id="add_color"></input>
</li>
</ol>
<button type="button" onclick="addMobile()">Submit</button>
<button onClick="clearMe()">Cancel</button>
</form>
$ ('# add'). reset ()@bassxzero Est-ce que jQuery a une fonction
reset ()?@ j08691 Je pense que jquery le fait, mais sinon, vanilla JS le fait
@bassxzero Je ne pense pas que ce soit le cas, et vous ne pouvez pas utiliser la méthode native directement sur un objet jQuery
$ ('# add') [0] .reset ()@ j08691 Merci d'avoir signalé mon erreur avec
. Je laisserai le message original tel quel pour que les autres puissent lire votre commentaire et voir le contexte, mais je le corrigerai dans mon projet.@bassxzero Que fait le
[0]?@ knot22 il sélectionne le premier objet JS vanilla de la collection jquery.