Dali
Dali

Reputation: 7882

change input text value with js or jQuery before submit if value is null

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

Answers (2)

Thomas Allen
Thomas Allen

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

mekwall
mekwall

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

Related Questions