Reputation: 7882
How can I with js or jQuery change input text value with js or jQuery before submit if the input value is null ?
Thanks for help.
Upvotes: 18
Views: 47517
Reputation: 393
With plain DOM (no library), your HTML will look something like:
<form name="foo" action="bar" method="post">
<!-- or method="get" -->
<input name="somefield">
<input type="submit" value="Submit">
</form>
And your script will look something like this:
var form = document.forms.foo;
if (form && form.elements.something)
// I use onsubmit here for brevity. Really, you want to use a
// function that uses form.attachEvent or form.addEventListener
// based on feature detection.
form.onsubmit = function() {
// if (form.elements.foo.value.trim()) is preferable but trim()
// is not available everywhere. Note that jQuery has $.trim(),
// and most general purpose libraries include a trim(s)
// function.
if (form.elements.something.value.match(/^\s*$/)))
form.elements.something.value = 'DEFAULT VALUE';
};
Upvotes: 3
Reputation: 28974
With jQuery, you can bind a callback to the submit event with the .submit()
method.
$("form").submit(function(){
// Let's find the input to check
var $input = $(this).find("input[name=whatever]");
if (!$input.val()) {
// Value is falsey (i.e. null), lets set a new one
$input.val("whatever you want");
}
});
Notice: To ensure that all the elements can be found it should be placed in a domready function.
Upvotes: 40