Привет виртуальный помощник :-)У меня такой вот вопрос: есть форма ввода в документе HTML, action которой указывает на определенный cgi-script. Но есть также необходимость проверить заполняемость формы правильными значениями перед выполнением cgi-script.
Понятно? что это удобнее сделать на Java Script, но как сделать, чтобы cgi
вызывался только после проверки ???Заранее благодарю!
>У меня такой вот вопрос: есть форма ввода в документе HTML, action
>которой указывает на определенный cgi-script. Но есть также необходимость
>проверить заполняемость формы правильными значениями перед выполнением cgi-script.Обязательно проверяй валидность параметров в скрипте, иначе никакой гарантии, что будут переданы правильные значения нет. На JavaScript можешь сделать дополнительную проверку, но в любом случае все значения должны проверяться в CGI.
Это понятно, но мне надо скажем в Java Scripte делать проверку на "глупые" значения, пустое поле и т.п., и если проверка не прошла - CGI не запускать
:-(
<html>
<head>
<script language="JavaScript">
<!--function test1(form) {
if (form.text1.value == "")
alert("Пожалуйста, введите строку!")
else {
alert("Hi "+form.text1.value+"! Форма заполнена корректно!");
}
}function test2(form) {
if (form.text2.value == "" ||
form.text2.value.indexOf('@', 0) == -1)
alert("Неверно введен адрес e-mail!");
else alert("OK!");
}
// -->
</script>
</head><body>
<form name="first">
Введите Ваше имя:<br>
<input type="text" name="text1">
<input type="button" name="button1" value="Проверка" onClick="test1(this.form)">
<P>
Введите Ваш адрес e-mail:<br>
<input type="text" name="text2">
<input type="button" name="button2" value="Проверка" onClick="test2(this.form)">
</body>
</html>
Ну это понятно и просто :-).
а вот если все введено и правильно, нужно запустить CGI, как?
Вроде
function test1(form) {
if (form.text1.value == "")
alert("Пожалуйста, введите строку!")
else {
alert("Hi "+form.text1.value+"! Форма заполнена корректно!");
form.action="/cgi-bin/mycgi.cgi"
}
}
работает.
Однако в этом случае, если данные по проверке JavaScript оказались неправильными - форма обновляется полностью(грузится заново), что нежелательно.
>Ну это понятно и просто :-).
>а вот если все введено и правильно, нужно запустить CGI, как?
>Вроде
>function test1(form) {
> if (form.text1.value == "")
> alert("Пожалуйста, введите строку!")
> else {
> alert("Hi "+form.text1.value+"! Форма заполнена корректно!");
> form.action="/cgi-bin/mycgi.cgi"
> }
>}
>работает.
>Однако в этом случае, если данные по проверке JavaScript оказались неправильными -
>форма обновляется полностью(грузится заново), что нежелательно.
function validate(){
if поле пусто или что-то не так
{
return false
}else{
return true
}}
<form name=qq onSubmit="return validate()">
</form>короче онСубмит не дает засабмитить форму пока ему не вернут правду -- www.javascript.com -- я видел там пример -- не только такой -- но и как ПРАВИЛЬНО (регексами) проверять поля формы
С уважением, Сергей
Уже все сделал !!!Спасиюо за помощь.