JavaScript onsubmit()函数无能为力

时间:2019-03-21 02:01:46

标签: javascript php

我对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进行验证并将其发送到数据库。

2 个答案:

答案 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