After submitting I want the redirect the users to a different page with the value of the input in the url. Now, when there is no value I want that it does nothing (return false). How can I do this?
My current code:
<form action="" method="post" class="searchInput">
    <input type="text" placeholder="Search anything you want..." name="search" id="search" />
    <button name="btnsearch" id="btnsearch" onclick=" window.location = '<?php echo base_url("index.php/search/index")?>/'+document.getElementById('search').value; return false;">
        Search</button>
</form>
Advertisement
Answer
You have two ways to do that. With JavaScript:
function validateForm() {
    var x = document.forms["myForm"]["nameField"].value;
    if (x == null || x == "") {
        alert("Name must be filled out");
        return false;
    }
}<form name="myForm" action="demo_form.asp" onsubmit="return validateForm()" method="post"> Name: <input type="text" name="nameField"> <input type="submit" value="Submit"> </form>
Or you can use the HTML5 required attribute:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>HTML 5 Form Validation</title> </head> <body> <form action=""> Username: <input type="text" name="username" required> <input type="submit"> </form> </body> </html>
Now its up to you! 😀