Я хотел бы обработать функцию javascript до того, как пользователь полностью представит форму, и браузер ждет результата. В частности, я хочу только наложить страницу на серый слой и отобразить вращающийся объект во время обработки запроса. Результат процесса будет отображаться на новой странице.
Приведенный ниже код не работает, сразу переходит к следующей странице
<script> function showWait()
{ $('#waitDiv').prepend('<center><img id="theImg" src="wait.gif"/></center>');
return true;
}
</script>
<form enctype="multipart/form-data" action="uploadPDBFile.php" method="post" onSubmit='javascript:showWait()'>
<input type="text" name='name1' placeholder="1dfj"/><br/>
<input type="text" name='chain' placeholder="I"/><br/>
<input type="hidden" name="upload" value="false" /> <input type="submit" value="Run"/>
</form>
⇒ Используйте onSubmit="return validationFn()"
<html>
<head>
<script>
function validate()
{
var username = document.forms['login_form']['username'].value;
var password = document.forms['login_form']['password'].value;
var Login = document.forms['login_form']['Login'].value;
//Processing data here
if (username.length == 0)
{
return false;
}
if (password.length == 0)
{
return false;
}
var return_value = true;
var patt1 = new RegExp("%");
var patt2 = new RegExp("9");
// And so on........
if ((patt1.test(username)) || (patt1.test(password)))
{
return_value = false;
}
if ((patt2.test(username)) || (patt2.test(password)))
{
return_value = false;
//alert('null');
}
if (return_value == false)
{
alert('Invalid characters in username or password');
return return_value;
}
}
</script>
</head>
<body>
<form name='login_form' action='1.php' method='POST' onsubmit='return validate()'>
<input type='text' name='username' placeholder='Username'/><br>
<input type='password' name='password' placeholder='Password'/><br>
<input type='submit' name='Login' value='Submit' style='margin-top:12px;margin-left:50px;'/>
</form>
</body>
</html>