简体   繁体   中英

Javascript onsubmit() function not doing anything

I have a problem with Javascript functions. My function won't work, I called it in a form with the onsubmit() call but nothing happens.

 $(document).ready(function(){ window.provera = function(){ nizError = new Array(); var ime = $("#imeReg").val(); var reIme = /^[AZ][az]{2,9}$/; var prezime = $("#prezimeReg").val(); var rePrezime = /^[AZ][az]{2,14}(\\s[AZ][az]{2,14})*$/; var username = $("#usernameReg").val(); var reUsername = /^([A-Za-z]+[0-9]|[0-9]+[A-Za-z])[A-Za-z0-9]*$/; var email = $("#emailReg").val(); var reEmail =/^[\\w]+[\\.\\_\\w]*\\@[\\w]+([\\.][\\w]+)+$/; var password = $("#passwordReg").val(); var rePassword = /^[\\S]{5,50}$/; if(!reIme.test(ime)){ nizError.push('Pogresno ste uneli ime'); }else if(ime = ""){ nizError.push('Ime je obavezno da se unese'); } if(!rePrezime.test(prezime)){ nizError.push('Pogresno ste uneli prezime'); }else if(prezime = ""){ nizError.push('Prezime je obavezno da se unese'); } if(!reUsername.test(username)){ nizError.push('Pogresno ste uneli username'); }else if(username = ""){ nizError.push('Username je obavezno da se unese'); } if(!reEmail.test(email)){ nizError.push('email'); }else if(email = ""){ nizError.push('Email je obavezno da se unese'); } if(!rePassword.test(password)){ nizError.push('password'); }else if(password = ""){ nizError.push('Password je obavezno da se unese'); } var ispis = ""; if(nizError.length > 0){ for(var i = 0; i < nizError.length; i++){ ispis+= "<p>"+ nizError[i] +"</p>"; } $("#result").html(ispis); return false; } return true; } });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <table class="tableLogin"> <form action="#" method="post" onsubmit="provera()"> <tr> <td> <label>Ime</label> </td> <td> <input type="text" id="imeReg" name="imeReg" class="typeText"/> </td> </tr> <tr> <td> <label>Prezime</label> </td> <td> <input type="text" id="prezimeReg" name="prezimeReg" class="typeText"/> </td> </tr> <tr> <td> <label>Username</label> </td> <td> <input type="text" id="usernameReg" name="usernameReg" class="typeText"/> </td> </tr> <tr> <td> <label>E-mail</label> </td> <td> <input type="text" id="emailReg" name="emailReg" class="typeText"/> </td> </tr> <tr> <td> <label>Password</label> </td> <td> <input type="password" id="passwordReg" name="passwordReg" class="typeText"/> </td> </tr> <tr> <td colspan="2"> <input type="submit" value="Registruj se" id="btnSubReg" name="btnSubReg" class="buttonSub"/> </td> </tr> </form> </table>

When I leave # on action attribute nothing happens, but when I try to put some page like admin.php it goes to that page and again I can't validate my form.

I'm working on a website for my studies and I need to validate a form on the client side so if everything is okay it goes on to ther server side where I can again validate it with php and send to the database.

Instead of this:

   <input type="submit" value="Registruj se" 
     id="btnSubReg" name="btnSubReg" 
     class="buttonSub"/>

Use this:

    <input type="button" value="Registruj se" 
   id="btnSubReg" onclick="provera()" name="btnSubReg" 
    class="buttonSub"/>

And in your javascript add at the end if everything is valid this:

  document.getElementById("myForm").submit();

And add in "action" your php file path.

您没有调用 OnSubmit() 函数<td colspan="2"> <input type="submit" value="Registruj se" id="btnSubReg" name="btnSubReg" class="buttonSub" onsubmit="return upload(this)"/> </td>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM