我有Javascript函数的问题。我的函数不起作用,我在onsubmit()调用的形式中调用它,但没有任何反应。
$(document).ready(function(){
window.provera = function(){
nizError = new Array();
var ime = $("#imeReg").val();
var reIme = /^[A-Z][a-z]{2,9}$/;
var prezime = $("#prezimeReg").val();
var rePrezime = /^[A-Z][a-z]{2,14}(\s[A-Z][a-z]{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>
当我离开#on action属性时没有任何反应,但是当我尝试放置像admin.php这样的页面时,它会转到那个页面并再次无法验证我的表单。
我正在研究一个网站进行学习,我需要在客户端验证一个表单,所以如果一切正常,那就进入服务器端,我可以再次使用php验证它并发送到数据库。
而不是这个:
<input type="submit" value="Registruj se"
id="btnSubReg" name="btnSubReg"
class="buttonSub"/>
用这个:
<input type="button" value="Registruj se"
id="btnSubReg" onclick="provera()" name="btnSubReg"
class="buttonSub"/>
并在你的javascript中添加最后如果一切都有效:
document.getElementById("myForm").submit();
并添加“动作”你的PHP文件路径。
你没有调用OnSubmit()函数
<td colspan="2">
<input type="submit" value="Registruj se" id="btnSubReg" name="btnSubReg" class="buttonSub" onsubmit="return upload(this)"/>
</td>