我对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>
当我在动作属性上保留#号时,什么都没有发生,但是当我尝试放置诸如admin.php之类的页面时,它会转到该页面,并且我再次无法验证表单。
我正在研究一个网站,因此我需要在客户端验证表单,因此,如果一切正常,请继续进行服务器端的工作,在这里我可以再次使用php进行验证并将其发送到数据库。
答案 0 :(得分:1)
代替此:
<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文件路径。
答案 1 :(得分:0)
您没有调用OnSubmit()函数
HttpContext