|
20.08.2012, 13:23
|
Новичок на форуме
|
|
Регистрация: 20.08.2012
Сообщений: 7
|
|
Помогите со скриптом
Есть такой скрипт :
<head>
<script language="JavaScript">
function getData() {
alert("Вы ввели: " + document.forms[0].textField.value);
}
</script>
</head>
<body>
<form>
<input type=text name=textField size=45>
<input type="button" value="Ответ" onClick="getData()">
</form>
</body>
Мне необходимо сделать так, что если в поле занести правильный ответ, то сразу произойдет переход на страницу(нужную мне). Если ответы будут не верные, то появится просто надпись - ответ не верный. Прошу помочь!
|
|
20.08.2012, 14:19
|
|
Профессор
|
|
Регистрация: 22.03.2012
Сообщений: 3,744
|
|
<form>
<input type=text name=textField size=45>
<input type="button" value="Ответ">
</form>
<script>
window.onload = function () {
document.forms[0].children[1].onclick = function () {
var text = document.forms[0].textField.value;
if (text == 'ha') {
location.href = 'http://javascript.ru';
} else {
alert('ответ неверный');
}
}
}
</script>
|
|
20.08.2012, 14:26
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Верный Ответ: "Тут верный Ответ"
<script language="JavaScript">
function getData(a) {
var aOtwet=a.getAttribute("data");
var b = document.forms[0].textField.value;
if (aOtwet==b) {
alert("Вы ввели: Верный ответ");
document.forms[0].submit();
} else alert("Вы ввели: Неверный ответ");
}
</script>
</head>
<body>
<form action="Ccылка">
<input type=text name=textField size=45>
<input type="button" data="Тут верный Ответ" value="Ответ" onClick="getData(this)">
</form>
|
|
20.08.2012, 14:43
|
Новичок на форуме
|
|
Регистрация: 20.08.2012
Сообщений: 7
|
|
Сообщение от Deff
|
Верный Ответ: "Тут верный Ответ"
<script language="JavaScript">
function getData(a) {
var aOtwet=a.getAttribute("data");
var b = document.forms[0].textField.value;
if (aOtwet==b) {
alert("Вы ввели: Верный ответ");
document.forms[0].submit();
} else alert("Вы ввели: Неверный ответ");
}
</script>
</head>
<body>
<form action="Ccылка">
<input type=text name=textField size=45>
<input type="button" data="Тут верный Ответ" value="Ответ" onClick="getData(this)">
</form>
|
Deff,
Все супер работает, еще вопрос. можно ли как нибудь защитить верный ответ, чтобы в искодном коде страницы не было написано правильного ответа?
|
|
20.08.2012, 14:53
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Сообщение от Atonix
|
можно ли как нибудь защитить верный о
|
К примеру, - заескейпить строку вставляемую в date="";
alert(escape('Тут верный Ответ').replace(/u/g,'\\u'))
Верный Ответ: "Тут верный Ответ"
<script language="JavaScript">
function getData(a) {
var aOtwet=unescape(a.getAttribute("data").split("\\u").join("u"))
var b = document.forms[0].textField.value;
if (aOtwet==b) {
alert("Вы ввели: Верный ответ");
document.forms[0].submit();
} else alert("Вы ввели: Неверный ответ");
}
</script>
</head>
<body>
<form action="Ccылка">
<input type=text name=textField size=45>
<input type="button" data="%\u0422%\u0443%\u0442%20%\u0432%\u0435%\u0440%\u043D%\u044B%\u0439%20%\u041E%\u0442%\u0432%\u0435%\u0442" value="Ответ" onClick="getData(this)">
</form>
Чуть подправил под escape
Последний раз редактировалось Deff, 20.08.2012 в 15:38.
|
|
20.08.2012, 15:14
|
Новичок на форуме
|
|
Регистрация: 20.08.2012
Сообщений: 7
|
|
Сообщение от Deff
|
Ну заескейпить - к примеру
alert(escape('Тут верный Ответ').replace(/u/g,'\\u'))
Верный Ответ: "Тут верный Ответ"
<script language="JavaScript">
function getData(a) {
var aOtwet=unescape(a.getAttribute("data").replace(/\/\/u/g,'u'));
alert(a.getAttribute("data").replace(/\/\//g,''))
var b = document.forms[0].textField.value;
if (aOtwet==b) {
alert("Вы ввели: Верный ответ");
document.forms[0].submit();
} else alert("Вы ввели: Неверный ответ");
}
</script>
</head>
<body>
<form action="Ccылка">
<input type=text name=textField size=45>
<input type="button" data="%\u0422%\u0443%\u0442%20%\u0432%\u0435%\u0440%\u043D%\u044B%\u0439%20%\u041E%\u0442%\u0432%\u0435%\u0442" value="Ответ" onClick="getData(this)">
</form>
Тут Автотрансформирюца спец символы - но через серв - будет в норме
Можно через encodeURI
|
Deff,
Все равно в исходном коде он виден. А чтобы вообще не спалить слово,так не возможно сделать? А можно еще ссылку скрыть, чтобы тоже ее в исходном коде не было видно?
Последний раз редактировалось Atonix, 20.08.2012 в 15:18.
|
|
20.08.2012, 15:27
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Atonix,
Я чуть сменил кодирование
|
|
20.08.2012, 15:35
|
|
Профессор
|
|
Регистрация: 22.03.2012
Сообщений: 3,744
|
|
на сервер данные отправляйте, там и проверяйте (см ajax или отправка данных в фрейм), на клиенте - гарантий нет
|
|
20.08.2012, 15:40
|
Новичок на форуме
|
|
Регистрация: 20.08.2012
Сообщений: 7
|
|
Сообщение от Deff
|
Atonix,
Я чуть сменил кодирование
|
Deff,
Супер ВООБЩЕ класс. А ссылку можно тоже спрятать?
|
|
20.08.2012, 15:58
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
alert(escape('Тут верный Ответ').replace(/u/g,'\\u'))
alert(escape('Сcылка').replace(/u/g,'\\u'))
Верный Ответ: "Тут верный Ответ"
<script language="JavaScript">
function getData(a) {
var aOtwet=unescape(a.getAttribute("data").split("\\u").join("u"))
alert(aOtwet)
var z=document.forms[0];
var b = z.textField.value;
if (aOtwet==b) {
alert("Вы ввели: Верный ответ");
var xz=unescape(z.getAttribute("data").split("\\u").join("u"));
alert("Переходим на==> "+xz);
z.setAttribute("action",xz);
document.forms[0].submit();
} else alert("Вы ввели: Неверный ответ");
}
</script>
</head>
<body>
<form data="%\u0421c%\u044B%\u043B%\u043A%\u0430" action="псевдоCcылка" >
<input type=text name=textField size=45>
<input type="button" data="%\u0422%\u0443%\u0442%20%\u0432%\u0435%\u0440%\u043D%\u044B%\u0439%20%\u041E%\u0442%\u0432%\u0435%\u0442" value="Ответ" onClick="getData(this)">
</form>
Последний раз редактировалось Deff, 20.08.2012 в 16:02.
|
|
|
|