Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проверка формы и переход дальше / 10 сообщений из 10, страница 1 из 1
18.10.2004, 09:09
    #32742015
podeig
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка формы и переход дальше
Такая задачка:
Необходимо по нажатию кнопки <asp:button....> проверить на JavaScript что форма заполнена нужным образом. Если заполнена плохо, то показывать alert, и НЕ обновлять страницу совсем, если все окей то из кода behind идти на след. страницу. У меня страница обновляется при любом раскладе. :(

Заранее спасибо за идеи :)
...
Рейтинг: 0 / 0
18.10.2004, 10:03
    #32742075
kxmep
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка формы и переход дальше
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
<%@ Page language="c#" Codebehind="WebForm2.aspx.cs" AutoEventWireup="false" Inherits="test.WebForm2" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html>
	<head>
		<title>WebForm2</title>
		<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
		<meta name="CODE_LANGUAGE" Content="C#">
		<meta name="vs_defaultClientScript" content="JavaScript">
		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
	</head>
	<body>
		<form id="Form1" method="post" runat="server" onsubmit="return verify();">
			<p>
				<asp:textbox id="TextBox1" runat="server"></asp:textbox></p>
			<p>
				<asp:textbox id="TextBox2" runat="server">Введите слово: yes</asp:textbox></p>
			<p>
				<asp:button id="Button1" runat="server" Text="Button"></asp:button></p>
		</form>
		<script language="javascript">

function verify()
{
	var tb;
	var result = true;
	
	//берем первый текстбокс
	tb = document.getElementById("TextBox1");
	//проверим его значение на длину
	if (('' + tb.value).length <  1 )
	{
		tb.style.backgroundColor = "#FFE4E1"; 
		result = result && false;
	}
	else
	{
		tb.style.backgroundColor = ""; 
		result = result && true;
	}
	
	//берем второй текстбокс
	tb = document.getElementById("TextBox2");
	//проверим его значение на слово yes
	if (('' + tb.value).length >  0 )
	{
		if (tb.value.toUpperCase() != 'YES')
		{
			tb.value = "Введите слово: yes";
			tb.style.color = "#FF0000"; 
			tb.style.backgroundColor = "#FFE4E1"; 
			result = result && false;
		}
		else
		{
			tb.style.backgroundColor = ""; 
			result = result && true;
		}
	}
	else
	{
		tb.style.backgroundColor = "#FFE4E1"; 
		result = result && false;
	}
	
	return(result);
}
		</script>
	</body>
</html>

Обаращаю внимание на:
<form id="Form1" method="post" runat="server" onsubmit="return verify(); ">

Код: plaintext
kxmep
...
Рейтинг: 0 / 0
18.10.2004, 10:15
    #32742089
kxmep
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка формы и переход дальше
И вот еще...

Делать проверку не клиенте не есть правильно!
Ибо более продвинутый пользователь сможет ее обойти :(

Код: plaintext
kxmep
...
Рейтинг: 0 / 0
18.10.2004, 12:17
    #32742364
podeig
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка формы и переход дальше
Спасибо! Все получилось!

Такая проверка здесь прокатит. Во первых поля все hidden, а во вторых в принципе это не в пользу юзера извращаться и обходить проверки.

Пришлось правда немного усложнить пример, так как у меня 2 кнопки сабмита, на одну проверка нужна, на другую нет.

btnNextStep.Attributes.Add("onclick", "SetDirection('forward')");
btnPreviousStep.Attributes.Add("onclick", "SetDirection('back')");

Определяю направление, и если forward, то проверяем.

:)
...
Рейтинг: 0 / 0
18.10.2004, 12:44
    #32742429
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка формы и переход дальше
А чего валидаторами не воспользовались?

---
Алгоритм
...
Рейтинг: 0 / 0
18.10.2004, 12:59
    #32742456
podeig
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка формы и переход дальше
Я с валидатором еще не очень знаком, но как я понял он обрабатывается на сервере, а мне надо былo на машине и вывести окошко alert.
:)
...
Рейтинг: 0 / 0
18.10.2004, 13:16
    #32742486
Ustazz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка формы и переход дальше
Валидаторы могут обрабатываться и на клиенте: EnableClientScript="True". Также можно назначить функцию для проверки самостоятельно. Валидаторы могу показывать какое-то сообщение в самой странице рядом с местом ошибки, что IMHO гораздо удобней неожиданно выскакивающих посреди экрана окошек alert. Выбор способа валидации, конечно зависит от вашего опыта и решаемой задачи.
...
Рейтинг: 0 / 0
18.10.2004, 14:25
    #32742669
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка формы и переход дальше
UstazzВалидаторы могут обрабатываться и на клиенте: EnableClientScript="True".

Вот-вот.


Компоненты контроля ввода ASP .Net 1 часть

Компоненты контроля ввода ASP .Net 2 часть

Старая статья, но для начала потянет.
...
Рейтинг: 0 / 0
18.10.2004, 15:40
    #32742874
profil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка формы и переход дальше
podeig...Пришлось правда немного усложнить пример, так как у меня 2 кнопки сабмита, на одну проверка нужна, на другую нет....с валидаторами это не получится
/topic/60888
...
Рейтинг: 0 / 0
18.10.2004, 15:50
    #32742908
profil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка формы и переход дальше
kxmep...Делать проверку не клиенте не есть правильно!
Ибо более продвинутый пользователь сможет ее обойти...странное заявление
на клиенте проверки всегда делаются только в угоду клиента - для повышения юзабильностиа, но критическую проверку конечно надо делать на сервере
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проверка формы и переход дальше / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]