У меня есть простой код проверки Javascript, который отлично работает, если я отправляю его на определенный PHP-адрес, хотя он не работает, если я отправляю его на страницу PHP, которую я создал.Проверка Javascript не работает в моем PHP
Код на данный момент довольно простой и проверяет некоторые поля с регулярными выражениями.
В принципе, если я попытаюсь использовать данный готовый PHP-файл (я не могу получить доступ), он отлично работает, показывая мне диалоговое окно с ошибкой, пока все поля не будут корректными.
Между тем, на странице PHP, которую я сделал, она улавливает ошибку, отображает диалоговое окно, но в поле «ОК» появляется окно «ОК», оно отправляет поля в мой PHP-файл.
Может ли кто-нибудь дать мне понять, что происходит?
спасибо.
Это Javascript:
<script type="text/javascript">
/* <![CDATA[ */
// this function calls all the other functions that validate each field of the submitting form
function validate() {
var validated = false;
validated = validateRId() && validateEId();
return validated;
}
// this validates the RID: checking that the field is filled with a number between 1 //and 99999
function validateRId() {
var RIdElement = document.getElementById("RID");
patternRId = /^([1-9][0-9]{0,4})$/;
if (patternRId.test(RIdElement.value)) {
return true;
} else {
alert ("Please Enter your RID (a number range 1 to 99999))");
RIdElement.focus();
return false
}
}
// this validates the EventID: checking that the field is filled with a number between 1 and 99999
function validateEId() {
var EIdElement = document.getElementById("EID");
patternEId = /^([1-9][0-9]{0,4})$/;
if (patternEId.test(EIdElement.value)) {
return true;
} else {
alert ("Please Enter the EID (a number range 1 to 99999))");
EIdElement.focus();
return false
}
}
/* ]]> */
</script>
<p/>
<form action="http://adress.php" method="post" name="submitrunnertime" onsubmit = "return validate()">
<table>
<tr><td>Runner ID*</td>
<td><input type="text" name="RID" id="RID" size="5" maxlength="5"/></td>
</tr>
<tr><td>Event ID*</td>
<td><input type="text" name="EID" id="EID" size="5" maxlength="5"/></td>
</tr>
</table>
<input type="submit" name="submit" value="submit"/>
<hr/>
</form>
</body>
</html>
Это PHP:
<body>
<?php
// access details as variables
$username = "xxxx";
$password = "tttt";
$hostname = "rrrrr";
//connection
$connection = mysql_connect($hostname, $username, $password) or die ('connection problem:' . mysql_error());
echo $connection . "CONNECTION SUCCEDED<br><br><br>";
//select a database
$mydb = mysql_select_db("xxxx", $connection)or die ('db problem:' . mysql_error());
echo $mydb . " DB SELECTED <br><br><br>";
?>
</body>
</html>
В вашей «проверке» есть сильная синтаксическая ошибка. Убедитесь, что вы выполнили основные этапы отладки, такие как проверка консоли ошибок браузера перед отправкой вопросов. – Pointy
Извините, просто скопируйте и вставьте ошибку. Моя функция должна быть синтаксически правильной: {... && validateEId(); return validated;} – user2396361